Python Groupby на словаре данных кадров - python
0
У меня есть словарь данных:
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: "Ни один из [] не находится в [столбцах]"
Кто-нибудь знает почему и как я могу решить эту проблему? Спасибо!
Источник
- 271
- 1
- 11 май 2020 2020-05-11 10:17:42
- Viri
1 ответ
0
У вас есть дополнительный df[]
в вашем коде:
promedios={k: df.groupby(Price)[Volume].mean() for k, df in list_of_dfs.items()}
Тем не менее, вы получите среднее значение Volume
для каждой цены на каждом кадре данных. Не ясно, если это то, что вы на самом деле ищете.
- 11 май 2020 2020-05-11 10:17:44
- Juan C