[英]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.