Pandas では、手動でカイ 2 乗検定をコーディングしようとしています。以下のデータフレームと比較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
Pandas関数でこれを達成することは可能ですか?