使用Pandas GroupBy和size()/ count()生成聚合的DataFrame

陶德stan |

所以我目前有一个叫做的DataFrame df

date                       tag
2011-02-18 12:57:00-07:00  A
2011-02-19 12:57:00-07:00  A
2011-03-18 12:57:00-07:00  B
2011-04-01 12:57:00-07:00  C
2011-05-19 12:57:00-07:00  Z
2011-06-03 12:57:00-07:00  A
2011-06-05 12:57:00-07:00  A
...

我正在尝试使用GroupBy标签和日期(yr / month),因此它看起来像:

date     A  B  C  Z
2011-02  2  0  0  0
2011-03  0  1  0  0
2011-04  0  0  1  0
2011-05  0  0  0  1
2011-06  2  0  0  0
...

我尝试了以下方法,但是并不能完全满足我的需求。

grouped_series = df.groupby([["%s-%s" % (d.year, d.month) for d in df.date], df.tag]).size()

我知道哪个标签存在,等等。任何帮助将不胜感激。

更新(面向未来的人们):

最终保留了日期时间,而不是字符串格式。相信我,这在绘制时会更好:

grouped_df = df.groupby([[ datetime.datetime(d.year, d.month, 1, 0, 0) for d in df.date], df.name]).size()
grouped_df = grouped_df.unstack().fillna(0)
罗曼·佩卡

您可以使用unstack()fillna()方法:

>>> g = df.groupby([["%s-%s" % (d.year, d.month) for d in df.date], df.tag]).size()
>>> g
        tag
2011-2  A      2
2011-3  B      1
2011-4  C      1
2011-5  Z      1
2011-6  A      2
dtype: int64
>>> g.unstack().fillna(0)
tag     A  B  C  Z
2011-2  2  0  0  0
2011-3  0  1  0  0
2011-4  0  0  1  0
2011-5  0  0  0  1
2011-6  2  0  0  0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python Pandas Groupby 和聚合

来自分类Dev

使用pandas GroupBy和时间序列重采样的平均聚合

来自分类Dev

如何迭代从groupby()。size()生成的Pandas Series

来自分类Dev

如何使用Pandas groupby和Aggregate生成新列?

来自分类Dev

使用.groupby和.transform进行聚合

来自分类Dev

Pandas DataFrame GroupBy sum/count to new DataFrame

来自分类Dev

使用groupby和size方法将数据框制成表格

来自分类Dev

使用 Pandas 进行聚合和分组

来自分类Dev

使用MultiIndex执行GroupBy之后,从Pandas DataFrame .csv文件中删除引号和括号。

来自分类Dev

使用 pandas.DataFrame.mode 和 groupby 查找数据帧中的大多数

来自分类Dev

使用 groupby 列从 Min 和 Max 列值计算 Pandas Dataframe 的变化率

来自分类Dev

pandas DataFrame和pandas.groupby计算薪水

来自分类Dev

优化groupby聚合pandas

来自分类Dev

在pandas中使用groupby对聚合数据进行计算

来自分类Dev

使用自定义聚合函数提高 pandas groupby 的效率

来自分类Dev

使用“ groupby”而不在组内进行聚合和排序

来自分类Dev

使用groupby和agg后应用聚合函数

来自分类Dev

使用groupby和mode的pandas fillna

来自分类Dev

如何使用Pandas Groupby和nlargest

来自分类Dev

使用pandas groupby提取数据和换位

来自分类Dev

用groupby和mean重新分配Pandas DataFrame

来自分类Dev

Groupby和命名聚合| 优化熊猫中的数据帧生成

来自分类Dev

Boxplot与pandas和groupby

来自分类Dev

使用groupby,sum和count将SQL转换为Linq

来自分类Dev

使用groupby,sum和count将SQL转换为Linq

来自分类Dev

pandas:如何使用列名进行分组和聚合?

来自分类Dev

使用Groupby Pandas DataFrame手动计算STD

来自分类Dev

使用Pandas DataFrame的groupby方法时StopIteration错误

来自分类Dev

在Pandas Dataframe中的groupby之后如何使用分配功能

Related 相关文章

  1. 1

    Python Pandas Groupby 和聚合

  2. 2

    使用pandas GroupBy和时间序列重采样的平均聚合

  3. 3

    如何迭代从groupby()。size()生成的Pandas Series

  4. 4

    如何使用Pandas groupby和Aggregate生成新列?

  5. 5

    使用.groupby和.transform进行聚合

  6. 6

    Pandas DataFrame GroupBy sum/count to new DataFrame

  7. 7

    使用groupby和size方法将数据框制成表格

  8. 8

    使用 Pandas 进行聚合和分组

  9. 9

    使用MultiIndex执行GroupBy之后,从Pandas DataFrame .csv文件中删除引号和括号。

  10. 10

    使用 pandas.DataFrame.mode 和 groupby 查找数据帧中的大多数

  11. 11

    使用 groupby 列从 Min 和 Max 列值计算 Pandas Dataframe 的变化率

  12. 12

    pandas DataFrame和pandas.groupby计算薪水

  13. 13

    优化groupby聚合pandas

  14. 14

    在pandas中使用groupby对聚合数据进行计算

  15. 15

    使用自定义聚合函数提高 pandas groupby 的效率

  16. 16

    使用“ groupby”而不在组内进行聚合和排序

  17. 17

    使用groupby和agg后应用聚合函数

  18. 18

    使用groupby和mode的pandas fillna

  19. 19

    如何使用Pandas Groupby和nlargest

  20. 20

    使用pandas groupby提取数据和换位

  21. 21

    用groupby和mean重新分配Pandas DataFrame

  22. 22

    Groupby和命名聚合| 优化熊猫中的数据帧生成

  23. 23

    Boxplot与pandas和groupby

  24. 24

    使用groupby,sum和count将SQL转换为Linq

  25. 25

    使用groupby,sum和count将SQL转换为Linq

  26. 26

    pandas:如何使用列名进行分组和聚合?

  27. 27

    使用Groupby Pandas DataFrame手动计算STD

  28. 28

    使用Pandas DataFrame的groupby方法时StopIteration错误

  29. 29

    在Pandas Dataframe中的groupby之后如何使用分配功能

热门标签

归档