如何在 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()
我有一个数据框,其中包含猫的类型字段和时间戳。
我可以这样查看我的字段的所有值计数:
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()