gpt4 book ai didi

python - 数据框列表对应元素的平均值

转载 作者:太空宇宙 更新时间:2023-11-04 00:32:57 25 4
gpt4 key购买 nike

我有一个包含 3 个数据框的列表(相同的形状和相同的列名)。我想取每个数据框中所有对应元素的平均值。

df3 = pd.DataFrame(np.random.randn(8, 3), columns= ['M', 'N', 'O'])
df4 = pd.DataFrame(np.random.randn(8, 3), columns= ['M', 'N', 'O'])
df5 = pd.DataFrame(np.random.randn(8, 3), columns= ['M', 'N', 'O'])

目前,我正打算这样做。

pd.DataFrame.add(df5, df4, df3)/3

但是我有一大堆数据帧进来了——比方说有 100 个数据帧的列表。请提出一个更好的方法来解决这个问题。有没有办法不用循环它们?

最佳答案

您可以只对列表使用 sum,然后除以列表的 len,而不管数据框中可能的 nans:

list_of_dfs = [df3, df4, df5]
sum(list_of_dfs)/len(list_of_dfs)

# M N O
#0 -0.264907 0.465489 0.238963
#1 -1.020216 0.235631 -0.227061
#2 0.331727 1.061115 0.188867

或者您可以使用reduce方法调用pd.DataFrame.add将列表中的所有数据框一起添加:

reduce(pd.DataFrame.add, list_of_dfs)/len(list_of_dfs)
# M N O
#0 -0.264907 0.465489 0.238963
#1 -1.020216 0.235631 -0.227061

如果使用python 3,首先导入reduce:

from functools import reduce

关于python - 数据框列表对应元素的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45156125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com