python – 熊猫:行和总和的外积
发布时间:2020-12-20 13:40:03 所属栏目:Python 来源:网络整理
导读:在Pandas中,我正在尝试手动编码卡方检验.我在下面的数据框中比较第0行和第1行. data 2 3 5 10 300 3 0 6 5 01 33324 15833 58305 54402 38920 为此,我需要计算每个单元格的预期单元格数量:cell(i,j)= rowSum(i)* colSum(j)/ sumAll.在R中,我可以通过使用out
在Pandas中,我正在尝试手动编码卡方检验.我在下面的数据框中比较第0行和第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功能实现这一目标? 解决方法
仅使用Pandas内置方法的完整解决方案:
def outer_product(row): numerator = df.sum(1).mul(row.sum(0)) denominator = df.sum(0).sum(0) return (numerator.floordiv(denominator)) df.apply(outer_product) 时间:对于100万行DF. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |