对Pandas数据帧列表求和

2024-09-25 12:37:39 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有一种方法可以使用类似于pd.concat([df1, df2, df3, df4])的语法对多个pandas数据帧求和。我从文档中了解到我可以做df1.sum(df2, fill_value=0),但是我有一长串需要求和的数据帧,我想知道我是否可以在不编写循环的情况下完成它。

有点相关的问题/答案:Pandas sum multiple dataframes(堆栈溢出)

结果应该是什么样子的示例:

idx1 = pd.MultiIndex.from_tuples([('a', 'A'), ('a', 'B'), ('b', 'A'), ('b', 'D')])
idx2 = pd.MultiIndex.from_tuples([('a', 'A'), ('a', 'C'), ('b', 'A'), ('b', 'C')])
idx3 = pd.MultiIndex.from_tuples([('a', 'A'), ('a', 'D'), ('b', 'A'), ('b', 'C')])

np.random.seed([3,1415])
df1 = pd.DataFrame(np.random.randn(4, 1), idx1, ['val'])
df2 = pd.DataFrame(np.random.randn(4, 1), idx2, ['val'])
df3 = pd.DataFrame(np.random.randn(4, 1), idx3, ['val'])

df1

enter image description here

df2

enter image description here

df3

enter image description here

结果应该是:

enter image description here


Tags: 数据fromdataframenprandomvalpddf1