gpt4 book ai didi

python - 如何根据唯一元素合并DataFrame中的行并获取平均值?

转载 作者:行者123 更新时间:2023-12-01 04:46:36 24 4
gpt4 key购买 nike

我正在努力弄清楚如何实现这一目标。我正在尝试获取每个小时条目的平均价格。所以像这样的 DataFrame

    day     hour    price   booked
0 monday 7 12.0 True
1 monday 8 12.0 False
2 tuesday 7 13.0 True
3 tuesday 8 13.0 False
4 monday 7 15.0 True
5 monday 8 13.0 False
6 tuesday 7 13.0 True
7 tuesday 8 15.0 False

应该给出类似的内容:

    day     hour    avg. price  
0 monday 7 13
1 monday 8 12.5
2 tuesday 7 13.0
3 tuesday 8 14.0

我希望将其推广到更大的数据集。

最佳答案

您可以按日期和小时列进行分组,然后对价格列调用mean:

In [46]:

df.groupby(['day','hour'])['price'].mean()
Out[46]:
day hour
monday 7 13.5
8 12.5
tuesday 7 13.0
8 14.0
Name: price, dtype: float64

要将日期和小时恢复为列,您可以调用 reset_index:

In [47]:

df.groupby(['day','hour'])['price'].mean().reset_index()
Out[47]:
day hour price
0 monday 7 13.5
1 monday 8 12.5
2 tuesday 7 13.0
3 tuesday 8 14.0

如果需要,您还可以重命名该列:

In [48]:

avg = df.groupby(['day','hour'])['price'].mean().reset_index()
avg.rename(columns={'price':'avg_price'},inplace=True)
avg
Out[48]:
day hour avg_price
0 monday 7 13.5
1 monday 8 12.5
2 tuesday 7 13.0
3 tuesday 8 14.0

关于python - 如何根据唯一元素合并DataFrame中的行并获取平均值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29268134/

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