gpt4 book ai didi

python - 添加 groupby 最小/最大/计数聚合

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

我有以下 pandas 数据框。

 ex_one  ex_two weight  fake_date
0 228055 231908 1 2004-12-17
1 228056 228899 1 2000-02-26
2 228050 230029 1 2003-01-27
3 228055 230564 1 2001-07-25
4 228059 230548 1 2002-05-04

这是我想要的:

ex_one列中以228055为例,然后根据fake_date(max)计算出现次数) 和 228055

fake_date( min) 值
 ex_one  ex_two weight  fake_date      max_date     min_date   frequency             
0 228055 231908 1 2004-12-17 2004-12-17 2001-07-25 2
1 228056 228899 1 2000-02-26
2 228050 230029 1 2003-01-27
3 228055 230564 1 2001-07-25
4 228059 230548 1 2002-05-04

最佳答案

这是一种方法。

df['fake_date'] = pd.to_datetime(df['fake_date'])

g = df.groupby('ex_one')['fake_date'].agg(['min', 'max', 'count']).reset_index()

res = df.merge(g, how='left')

结果

   ex_one  ex_two  weight  fake_date        min        max  count
0 228055 231908 1 2004-12-17 2004-12-17 2004-12-17 1
1 228056 228899 1 2000-02-26 2000-02-26 2000-02-26 1
2 228050 230029 1 2003-01-27 2003-01-27 2003-01-27 1
3 228059 230564 1 2001-07-25 2001-07-25 2002-05-04 2
4 228059 230548 1 2002-05-04 2001-07-25 2002-05-04 2

说明

  • fake_date 列强制转换为 datetime 类型(如果尚未完成)。
  • 使用 3 个聚合创建一个 groupby 数据框。
  • 与原始数据框左合并。

关于python - 添加 groupby 最小/最大/计数聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49524248/

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