2017-09-12 53 views
1

我有一個數據框,其中包含年份,乘客數據和其國家的值。該國仍然是數據框的思想。從python中的值表中創建Boxplot

我試圖繪製一個boxplot。國家/地區:「美國」位於x軸上,y軸上顯示所有年份的乘客數據。

,但我得到:AttributeError的: '系列' 對象有沒有屬性 '箱線圖'

from matplotlib import pyplot as plt 
import pandas as pd 

df = pd.read_csv('CityPairs.csv') 

filt = (df.Country == 'USA') 
df = df[filt] 
reqcol = ['Year', 'Country', 'Passengers_Total'] 
df = df[reqcol] 

groupbyCountry = df.groupby(['Year', 'Country'])['Passengers_Total'].sum() 
groupbyCountry 

groupbyCountry.boxplot(column = 'Passengers_Total', by = 'Country') 

任何幫助,將不勝感激

回答

1

使用reset_index或參數as_index=TrueDataFrame

groupbyCountry = df.groupby(['Year', 'Country'])['Passengers_Total'].sum().reset_index() 

或者:

groupbyCountry = df.groupby(['Year', 'Country'], as_index=False)['Passengers_Total'].sum() 

如果ploting只有一類(USA),您可以簡化代碼:

groupbyCountry.boxplot(column = 'Passengers_Total') 
+1

這似乎已經做到了!當定時器完成時,病人會打勾,歡呼! – Liam