Pandas - 按字段分组并使用显示该字段数量的列
Posted
技术标签:
【中文标题】Pandas - 按字段分组并使用显示该字段数量的列【英文标题】:Pandas - Group by field and use column showing amounts of that field 【发布时间】:2020-12-14 15:54:30 【问题描述】:我不知道如何正确描述这种情况,我有这个数据框,我需要按日期对其进行分组,并让“状态”列按日期显示数量。我怎样才能正确地做到这一点?
Date Time N Status Kind
23/8/2020 00:00:00 aaa Completed az
23/8/2020 00:00:01 bbb with warnings az
23/8/2020 00:00:02 ccc aborted ad
23/8/2020 00:00:03 rrr with warnings az
24/8/2020 00:00:04 aze Completed ad
24/8/2020 00:00:05 ggg Completed ad
24/8/2020 00:00:06 ddd with warnings az
21/8/2020 00:00:07 ww Completed az
21/8/2020 00:00:08 xxx aborted az
21/8/2020 00:00:09 gge Completed az
我需要它显示如下:
Date Completed with warnings aborted
21/8/2020 2 0 1
23/8/2020 1 2 1
24/8/2020 2 1 0
我尝试过以不同方式进行分组,也包括“.to_frame”。我不知道如何使用“.agg()”
【问题讨论】:
pd.corsstab(df.Date, df.Status) 到底是什么问题? 我不确定如何使用“.agg()” 那么您可能需要 Pandas 文档,而不是 SO,对吧?请参阅How to Ask、help center。 pandas how to use agg 【参考方案1】:非常感谢@BEN_YO,我解决了这个问题,真的没有必要 .agg()
pd.corsstab (df.Date, df.Status) - BEN_YO
解决方案
df = pd.crosstab(df.Date, df.Status)
df = df.reset_index()
print(df)
【讨论】:
以上是关于Pandas - 按字段分组并使用显示该字段数量的列的主要内容,如果未能解决你的问题,请参考以下文章
(MySQL)按字段分组并选择 COUNT(field) 和分组行数