[datagroup字典上的python groupby

问题描述 投票:0回答:1

我有一个数据框字典:

list_of_dfs={'df1':'Dataframe','df2':'Dataframe','df3':'Dataframe','df4':'Dataframe'}

每个数据框包含相同的变量(价格,数量)。我想获得在每个数据框中重复的每个价格观察的平均交易量。更准确地说,如果我们仅查看字典中包含的数据框之一:

df = pd.DataFrame({
'Price': [-3000, -262, 150, -3000, -262, 150, -3000, -262, 150],
'Volume': [8133, 28287, 19289, 20242, 19428, 28322, 18147, 17234, 12133]})

# I can use the groupby object on price, to calculate average of volume

df_groupby_mean = df_filtered.groupby('Price')['Volume'].mean()
print(df_groupby_mean)

我应用以下代码对字典中包含的所有数据框进行循环

promedios={k: df[df.groupby('Price')['Volume'].mean()] for k, df in list_of_dfs.items()}

但是出现以下错误:

KeyError:“ []都不在[列]中]

有人知道为什么以及如何解决这个问题吗?谢谢!

python pandas dataframe dictionary group-by
1个回答
0
投票

您的代码中有一个额外的df[]

promedios={k: df.groupby('Price')['Volume'].mean() for k, df in list_of_dfs.items()}

不过,这将为您提供每个数据帧上每个不同价格的平均Volume。尚不清楚这是否是您真正想要的。

© www.soinside.com 2019 - 2024. All rights reserved.