在索引上聚合 DataFrame [重复]
Posted
技术标签:
【中文标题】在索引上聚合 DataFrame [重复]【英文标题】:Aggregate DataFrame over Index [duplicate] 【发布时间】:2019-05-19 04:36:35 【问题描述】:我有以下数据框
(polygon object) ASSAULT BURGLARY bank cafe crossing
INCIDENTDATE
2009-01-01 02:00:00 A 1 0 0 1 0
2009-01-01 02:00:00 A 1 0 0 1 0
2009-01-01 02:00:00 A 1 0 1 0 0
2009-01-01 02:00:00 A 1 0 0 0 1
2009-01-01 02:00:00 A 1 0 0 1 0
2009-01-04 11:00:00 B 0 1 1 0 0
2009-01-04 11:00:00 B 0 1 1 0 0
2009-01-04 11:00:00 B 0 1 0 0 0
2009-01-04 11:00:00 B 0 1 1 0 0
2009-01-04 11:00:00 B 0 1 0 1 0
我想将该 DataFrame 聚合为只有唯一的 'INCIDENTDATE'
在执行此操作时,如果每列(多边形除外)的值在至少一行相同的'INCIDENTDATE'
行中为 1,则它的值为 1。
最终的 DataFrame 应该如下所示:
(polygon object) ASSAULT BURGLARY bank cafe crossing
INCIDENTDATE
2009-01-01 02:00:00 A 1 0 1 1 1
2009-01-04 11:00:00 B 0 1 1 1 0
我将如何在 pandas 中实现这一点? 谷歌搜索我的问题将我指向 groupby() 函数,但我真的不明白我将如何在这里使用它。
【问题讨论】:
可以按索引对数据帧进行分组,df.groupby(df.index).max() 【参考方案1】:我认为只需在索引中重置,然后按该新列分组并查找每个组的最大值:
df.reset_index(inplace=True)
df.groupby('INCIDENTDATE').max()
【讨论】:
【参考方案2】:max
函数应该这样做:
df.groupby("INCIDENTDATE").agg("max")
【讨论】:
以上是关于在索引上聚合 DataFrame [重复]的主要内容,如果未能解决你的问题,请参考以下文章
具有聚合唯一值的pyspark dataframe groupby [重复]