2017-06-08 95 views
0

我想爲每個日期/時間組合的DataFrame中的項目數量做一個散點圖。我已經分組的數據是這樣的:散點圖繪製DataFrame分組爲2列並有聚合

dff = pd.DataFrame(df.groupby(['date', 'time']).size().rename('count')) 

,它看起來像這樣:

      count 
date   time  
2017-05-19 15:00   1 
      15:30   1 
      16:00   1 
      16:30   1 
      17:00   1 
2017-05-23 10:00   2 
      10:30   2 
      11:00   2 
... 

現在,我怎麼能散點圖有在Y在X軸上date S和time S中的計數軸? plt.scatter(x, y, s=area, c=colors)是簽名,但是我嘗試從dff中選擇xy,但未能找到密鑰。另外,scatter預計在軸上浮動,而我有字符串。

回答

1

這需要訪問MultiIndex值,就像這樣:

# replicating sample data (foo is just dummy data for the count) 
grouped = df.groupby(['date', 'time'])['foo'].count() 
date  time  
2015-01-01 15:00:00 1 
      15:30:00 1 
2015-01-02 16:00:00 2 
Name: foo, dtype: int64 

plt.scatter(x=grouped.index.get_level_values(0), y=grouped.index.get_level_values(1), s=[20*4**n for n in grouped.values]) 
plt.show() 

你需要在scatter()s參數玩,這裏是我用的是公司招聘pyplot scatter plot marker size的文檔。

enter image description here