matplotlib中的箱线图

时间:2020-03-31 14:00:55

标签: python matplotlib

我正在尝试从数据框中绘制箱形图。我有两列,一列是国家,另一列是关于那些国家的数据。

       Country  AverageTemperatureCelsius          
0  New Zealand                     11.059      
1  Columbia                        11.327      
2  New Zealand                     11.585                 
3  Columbia                        11.432
4  New Zealand                     12.707

我想做一个方框图,其中一个代表新西兰,另一个代表哥伦比亚。 (当然,我有更多的真实国家/地区)。

我设法解决了自己的问题,解决方案是

    newdf=df.pivot(columns='Country', values='AverageTemperatureCelsius')
    plt.xlim((0,9))
    i=0
    for column in newdf.columns:
        plt.boxplot(newdf[column][newdf[column].notnull()], positions=[i+1],widths=0.5)
        i=i+1

1 个答案:

答案 0 :(得分:0)

使用seaborn可能是最快的方法:

import pandas as pd
import seaborn as sns
df = pd.DataFrame({'Country':['New Zealand','Columbia','New Zealand','Columbia','New Zealand'],
                  'AverageTemperatureCelsius':[11.059,11.327,11.585,11.432,12.707] })
sns.boxplot(x='Country',y='AverageTemperatureCelsius', data=df)

enter image description here