Боксплот в матплотлиб - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь сделать коробочные графики из фрейма данных. У меня есть две колонки, одна со странами, другая с данными, касающимися этих стран.

       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 голосов
/ 31 марта 2020

Использование 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...