-2
파이썬에서 Paper의 두 공식을 사용하고 싶습니다.수식을 파이썬으로 변환하는 방법?
이 코드로 변환 :
P = A #(size 24x24)
Q = B #(size 24x24)
sum_of_all = 0
for row in range(0,P.shape[0]):
for column in range (0,P.shape[1]):
zwischen =(w.iloc[row] * np.power((abs(P[row, column])-abs(Q[row,column])),2))[0]
sum_of_all = sum_of_all +zwischen
res = np.sqrt(sum_of_all)
다른 화학식 :
:는이 코드로 변환
P = A
Q = B
sum_of_all = 0
for row in range(0,P.shape[0]):
for column in range (0,P.shape[1]):
zwischen = P[row, column]*Q[row,column]
sum_of_all = sum_of_all +zwischen
sum_of_all = (w.iloc[row])[0]*abs(sum_of_all)
res = np.sqrt(2-(2*sum_of_all))
제대로 했습니까?
파이어 닉 방식으로 (예 : 수식 1)을 변경할 수 있습니까?이 수식은 실제로 자주 사용되므로 (30000 회) 루프가 너무 느려지므로.
왜 팬더 데이터 프레임에 체중이 있습니까? –
왜 안 되니? 데이터 프레임 또는 numpy 배열 인 경우 차이가 있습니까? –
성능에 대해 걱정하면 가장 작은 데이터 구조로 작업하십시오. 질 낮은 배열로 갈 때 너무 많은 여분을 얻지는 않을지라도. 또한 코드를 해석하고 유지하는 것이 얼마나 쉬운 지와 관련이 있습니다. 그렇지 않으면, 첫 번째 "함수"에서 절대 행렬 A와 B (또는 별칭 P와 Q)에 절대 값을 미리 계산해야합니다. abs가 아니라 std 라이브러리의 올바른 numpy 요소 - 현명한 abs 함수 당신은 당신의 수입품을 보여주지 않는다). 그런 다음 for 루프 대신 numpy를 사용하여 뺄셈을 수행 할 수도 있습니다. –