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()
產品做到這一點:
Exp_counts <- outer(rowSums(data), colSums(data), "*")/sum(data) # Expected cell counts
我使用numpy的公司外產品功能模仿上述R代碼的結果:
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
它是實現這一可能的有熊貓的功能?
又怎會不工作? (data.sum(axis = 0),data.sum(axis = 1))/(data.sum()。sum())'然後'now_a_df = pd.DataFrame(not_yet_df) ' 另外,如果你想用'pd.np.outer(..)'' – mkln
,你可以從pandas調用'outer'函數而不需要導入numpy。是的,但是(但是我意識到軸求和時需要顛倒) )。我重新提出了我的問題,包括numpy解決方案。我正在尋找一種方法來實現熊貓功能。 – Rhubarb
爲什麼你需要一個熊貓功能呢? – mkln