在索引上聚合 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 [重复]

如何在DataFrame组中执行算术运算在Spark中进行聚合? [重复]

聚合后获取Spark DataFrame的所有列[重复]

数据规整:聚合合并和重塑

熊猫根据索引标签选择特定列中的值[重复]

Python数据分析笔记#8.2.2 索引上的合并