ich den folgenden Datenrahmen in Python hat (der tatsächliche Datenrahmen ist viel größer, nur eine kleine Probe präsentiert):Python boxplot
A B C D E F
0 0.43 0.52 0.96 1.17 1.17 2.85
1 0.43 0.52 1.17 2.72 2.75 2.94
2 0.43 0.53 1.48 2.85 2.83
3 0.47 0.59 1.58 3.14
4 0.49 0.80
ich wandle die Datenrahmen numpy df.values mit und dann das zu boxplot übergeben.
Wenn ich versuche, einen Boxplot aus diesem Pandas-Datenrahmen zu machen, ist die Anzahl der Werte, die aus jeder Spalte ausgewählt werden, auf die geringste Anzahl von Werten in einer Spalte beschränkt (in diesem Fall Spalte F). Gibt es eine Möglichkeit, alle Werte aus jeder Spalte zu plotten?
HINWEIS: Ich benutze df.dropna, um die Zeilen in jeder Spalte mit fehlenden Werten zu löschen. Dies ändert jedoch die Größe des Datenrahmens auf den kleinsten gemeinsamen Nenner der Spaltenlänge und führt zu einer Unordnung der Darstellung.
import prettyplotlib as ppl
import numpy as np
import pandas
import matplotlib as mpl
from matplotlib import pyplot
df = pandas.DataFrame.from_csv(csv_data,index_col=False)
df = df.dropna()
labels = ['A', 'B', 'C', 'D', 'E', 'F']
fig, ax = pyplot.subplots()
ppl.boxplot(ax, df.values, xticklabels=labels)
pyplot.show()
sollten Sie die numpy/Pandas Code – mrKelley
Added Code schreiben. Ok, ich sehe, was passiert. Ich benutze df.dropna, um die Zeilen in jeder Spalte mit fehlenden Werten zu löschen. Dies ändert jedoch die Größe des Datenrahmens auf den kleinsten gemeinsamen Nenner der Spaltenlänge und führt zu einer Unordnung der Darstellung. Irgendwelche Lösungen? – user308827
Wie wäre es mit dem NaN? Ich denke, 'Boxplot' wird NaN-Werte selbst behandeln. – HYRY