我在Pandas中有一个看起来像这样的DataFrame。 date
是dtype datetime64
的索引。
keyword id
date
2017-03-31 21:22:33+00:00 cat 0
2017-07-07 11:28:36+00:00 dog 1
2017-03-31 01:18:50+00:00 cat 2
2017-03-31 21:03:39+00:00 cat 3
2017-08-23 13:26:43+00:00 elephant 4
我想要一个按天计算关键字的结果:
2017-03-31 cat 3
2017-07-07 dog 1
2017-08-23 elephant 1
我是熊猫新手,所以我正在学习。我尝试过这样的事情:
df.resample('D').keyword.value_counts()
返回:
ValueError: operands could not be broadcast together with shape ...
显然,我需要使用resample
因为日期是索引。我不确定如何继续。任何想法都将不胜感激。
答案 0 :(得分:2)
将get_level_values
与date
一起使用(从日期时间格式获取日期部分)
df.groupby([df.index.get_level_values(0).date,df.keyword]).size()
Out[867]:
keyword
2017-03-31 cat 3
2017-07-07 dog 1
2017-08-23 elephant 1
dtype: int64