2013-08-01 24 views
8

Say mam dataframe jak następuje:Pandy Wykres pudełkowy jednej kolumny na bazie innej kolumnie

my_dataframe: 

    Age Group 
0 31 A 
1 24 A 
2 25 A 
3 36 A 
4 50 NaN 
5 27 A 
6 49 A 
7 24 A 
8 63 A 
9 25 A 
10 65 A 
11 67 A 
12 59 A 
13 NaN B 
14 30 B 
15 19 B 
16 57 B 
17 62 B 
18 30 B 
19 50 B 
20 42 B 
21 45 C 
22 59 C 
23 28 C 
24 37 C 
25 29 C 

chciałbym boxplot wiek każdej grupy (A, B, C). Uwaga: Mam pewne wartości NaN w ramce danych. Jak mogę to zrobić w Pandach?

Odpowiedz

9

Błędne odczytanie 1 raz, więc dało odpowiedź na histogramy ... pisząc to poniżej. dla boxplot kod jest:

bp = df.boxplot(by='Group') 

enter image description here

suptitle('Bla Bla') 

zmienić lub pozbyć się automatycznie wygenerowanego górnym tytułu.

może być bardziej elegancki sposób, ale następujące prace dla histogramy:

df[df.Group =='A'].Age.hist() 
df[df.Group =='B'].Age.hist() 
df[df.Group =='C'].Age.hist() 

http://pandas.pydata.org/pandas-docs/dev/visualization.html ma wymyślnej składni, aby to zrobić, jak również. Ale ponieważ mają tylko 3 grupy, najprostsze rozwiązanie jest prawdopodobnie wystarczające.

+0

Dzięki .. Czy wiesz, jak pozbyć się "Boxplot zgrupowane X" 'w tytule rysunku? –

+0

Nie otwieraj już danych przykładowych ... jeśli w ipython z importami pylab: po prostu tytuł ("Boxplot zgrupowany X") powinien zrobić. W przeciwnym razie "import matplotlib.pylab jak plt" i plt.title (".....") powinny załatwić sprawę – Joop

+0

Dzięki Joop, komenda title zmienia tylko część z napisem 'Age' w boxplot (w twoim poście), Dlatego spytałem. –

Powiązane problemy