如何在 pandas 中同时重新采样和 value_count?

How do I resample and value_count at the same time in pandas?

我有一个数据框,其中包含猫的类型字段和时间戳。

我可以这样查看我的字段的所有值计数:

df["cat_type"].value_counts()
Calico         2870
Tabby           102
Tortoise_shell   51
Name: cat_type, dtype: int64

我可以像这样按月查看所有计数:

df.set_index("my_time")[["cat_type"]].resample("M").count()
       cat_type
my_time     
2012-01-31  936
2012-02-29  1236
2012-03-31  851

但是,我不知道如何按月计算/both/值。

我正在寻找类似...

的输出
my_time     calico  tabby tortoise_shell
2012-01-31     M1      M2             M3
2012-02-29     N1      N2             N3
2012-03-31     O1      O2             O3

这是什么语法?

不是

df.set_index("my_time")[["cat_type"]].resample("M").nunique()
       cat_type
my_time     
2012-01-31  3
2012-02-29  3
2012-03-31  3

你可以试试pd.Grouper

out = df.groupby([pd.Grouper(key = 'my_time',freq='M'),df['cat_type']]).count().unstack()