[英]Plotting count of unique values in groupby
我有一个具有这种形式的数据集:
>>> df
my_timestamp disease month
0 2016-01-01 15:00:00 2 jan
0 2016-01-01 11:00:00 1 jan
1 2016-01-02 15:00:00 3 jan
2 2016-01-03 15:00:00 4 jan
3 2016-01-04 15:00:00 2 jan
我不会按月计算唯一幻影的数量,按值,然后 plot 按月计算每个值的计数。
df 值计数
1 月 2 日 3 日 1 月 2 日 3
我怎么能plot呢? 在一个 plot 中,x 轴为月份,每个值一行,y 为计数
如果您想按月 plot,那么如果多年,您还需要按年 plot。 使用.groupby
按年和月分组时,可以使用dt.strftime
。
鉴于以下稍微更改的数据集以包含更多月份:
my_timestamp disease month
2016-01-01 15:00:00 2 jan
2016-02-01 11:00:00 1 feb
2017-01-02 15:00:00 3 jan
2017-01-02 15:00:00 4 jan
2016-01-04 15:00:00 2 jan
您可以运行以下
df['my_timestamp'] = pd.to_datetime(df['my_timestamp'])
df.groupby(df['my_timestamp'].dt.strftime('%Y-%m'))['disease'].nunique().plot()
我做了什么来把这些数据变成条形图。 我创建了一个月专栏。 然后:
for v in df.disease.unique():
diseases = df_cut[df_cut['disease']==v].groupby('month_num')['disease'].count()
x = diseases.index
y = diseases.values
plt.bar(x, y)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.