gpt4 book ai didi

Python 具有条件的数据帧的聚合总和

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

我有一个如下所示的数据框:

stuff datetime value
A 1/1/2019 3
A 1/2/2019 4
A 1/3/2019 5
A 1/4/2019 6
...

我想创建一个如下所示的新数据框:

stuff avg_3 avg_4 avg_5
A 3.4 4.5 5.5
B 2.3 4.2 6.1

其中avg_3是从今天起过去3天的平均值,avg_4是从今天起过去4天的平均值等按内容分组

我该怎么做?

我当前的代码:

df.groupby('stuff').apply(lambda x: pd.Series(dict(
day_3=(x.datetime > datetime.now() - timedelta(days = 3)).mean(),
day_7=(x.datetime > datetime.now() -timedelta(days = 7)).mean())))

提前致谢

最佳答案

groupby之前创建 bool 掩码,通过 assign 添加新列和 groupby 以及 mean:

m1 = df.datetime >  pd.datetime.now() - pd.Timedelta(days = 3)
m2 = df.datetime > pd.datetime.now() - pd.Timedelta(days = 7)

df = df.assign(day_3=m1, day_7=m2).groupby('stuff')['day_3','day_7'].mean()

关于Python 具有条件的数据帧的聚合总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54377219/

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