我正在尝试添加每个单元格的“垂直”和“水平”总和。
到目前为止,我已经厌倦了得到每行和每列的总和。但是像这样,我必须遍历每个值并添加它们,这似乎效率很低。您可以将合并sum()和sum(1)组合起来创建一个新的嵌套框,但这样会对有问题的单元格计数两次。使用df:
sum()
sum(1)
df
df = pd.DataFrame([[1,3], [8,4]], columns=list("ab"))
是否有任何简单的操作来存档想要的结果?
flseospp1#
IIUC使用numpy广播并减去原始DataFrame:
out = df.sum().to_numpy() + df.sum(1).to_numpy()[:, None] - df print (out) a b 0 12 8 1 13 15
1条答案
按热度按时间flseospp1#
IIUC使用numpy广播并减去原始DataFrame: