2017-08-04 115 views
0

我有以下數據框data如何總結箱的Y值而不是平均值?

import pandas as pd 
from io import StringIO 
data = pd.read_table(StringIO("""time_diff avg_trips_per_day 
631   1.0 
231   1.0 
431   1.0 
7031  1.0 
17231  1.0 
20000  20.0 
21000  15.0 
22000  10.0"""), delim_whitespace=True) 

我創建了一個條形圖爲folows:

import seaborn as sns 
data['timegroup'] = pd.qcut(data['time_diff'], 3) 
sns.barplot(x='timegroup', y='avg_trips_per_day', data=data) 

目前需要的avg_trips_per_day值每個箱(timegroup),並計算平均avg_trips_per_day。 但是,我想總結avg_trips_per_day的值爲每個bin timegroup而不是使用均值。我怎樣才能做到這一點?

回答

3

使用的barplot估計參數:

sns.barplot(x='timegroup', y='avg_trips_per_day', data=data, estimator=sum) 

enter image description here

+0

感謝。順便說一句,在我的情況下,第一個箱的下限由於某種原因是負的,而在數據中我沒有負數。你知道如何解決它嗎? – Dinosaurius

+0

@Dinosaurius恐怕不是。它返回一個IntervalIndex並且它們不可變。可能你需要從頭開始構建整個索引。 – ayhan