4
팬더에서 카이 제곱 테스트를 수동으로 코딩하려고합니다. 아래 데이터 프레임에서 row 0
과 row 1
을 비교합니다.팬더 : 행과 열의 바깥 쪽
data
2 3 5 10 30
0 3 0 6 5 0
1 33324 15833 58305 54402 38920
이렇게하려면 각 셀의 예상 세포 수를 다음과 같이 계산해야합니다. cell(i,j) = rowSum(i)*colSum(j)/sumAll
. R, 나는 단순히 outer()
제품을 복용하여이 작업을 수행 할 수 있습니다 : 나는 위의 R 코드의 결과 모방 NumPy와의 외적 기능을 사용
Exp_counts <- outer(rowSums(data), colSums(data), "*")/sum(data) # Expected cell counts
: 가능이를 달성하기 위해
import numpy as np
pd.DataFrame(np.outer(data.sum(axis=1),data.sum(axis=0))/ (data.sum().sum()), index=data.index, columns=data.columns.values)
2 3 5 10 30
0 2 1 4 3 2
1 33324 15831 58306 54403 38917
인가 팬더 기능?
이 기능이 작동하지 않습니까? (now_a_df = pd.DataFrame (not_yet_df)) 'not_yet_df = np.outer (data.sum (축 = 0), data.sum (축 = 1))/(데이터. ' 게다가, 당신은'pd.np.outer (..) '로 원한다면 numpy를 import하지 않고 pandas에서'outer' 함수를 호출 할 수 있습니다. – mkln
예, 그렇습니다 (그러나 축 순서는 합산하는 동안 뒤집혀 야한다는 것을 깨달았습니다.). 나는 질책하는 해결책을 포함하여 나의 질문에 다시 말을했다. 나는 팬더 (Pandas) 기능으로 이것을 수행 할 방법을 찾고있다. – Rhubarb
왜 팬더 기능이 필요합니까? – mkln