簡體   English   中英

繪制 groupby 中唯一值的計數

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM