求教 pandas 相关问题,有一个表 A,对其中一列 a 进行 groupby 和 agg(比如 count)处理后得到新表 B,如何把 B 表聚合结果列映射到 A 表?

2022-02-08 23:58:39 +08:00
 yellowtail
有一个表 A,对其中一列进行 groupby 和 agg(比如 sum)处理后得到新表 B,如何把 B 表聚合结果列映射到 A 表?

比如表 A 是一个某地居民出生时间的表,索引是顺序时间( 2000-01-01 11:11 ),列值 datetime 对应的是日期加小时( 2000-01-01 11:00 )
A.groupby['datetime'].count()得到表 B ,获得某天某小时出生人数
请问如何快速在 A 表上新增一列,新列列值为 datetime 列值在 B 表中对应的出生人数?
2134 次点击
所在节点    Python
4 条回复
flyfei
2022-02-09 02:39:00 +08:00
使用 merge 方法设定为 left join 就可以吧
milkpuff
2022-02-09 09:20:47 +08:00
把 agg 换成 transform ,生成的结果与输入表有相同的行数。
A.groupby['datetime'].transform('count')
Nehcknarf
2022-02-09 09:29:54 +08:00
A['new'] = A.groupby['datetime'].count()
yellowtail
2022-02-09 13:01:41 +08:00
@milkpuff 用你的方法解决问题了,感谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/832562

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX