Plotten Histogramm mit seaborn für ein dataframe

Ich habe einen dataFrame, die hat mehrere Spalten und viele Zeilen..Viele Zeile hat keinen Wert für die Spalte, also in der Daten-frame seine vertreten, als NaN.
Das Beispiel dataFrame ist wie folgt,

df.head()
GEN Sample_1    Sample_2    Sample_3    Sample_4    Sample_5    Sample_6    Sample_7    Sample_8    Sample_9    Sample_10   Sample_11   Sample_12   Sample_13   Sample_14
A123    9.4697  3.19689 4.8946  8.54594 13.2568 4.93848 3.16809 NAN NAN NAN NAN NAN NAN NAN
A124    6.02592 4.0663  3.9218  2.66058 4.38232         NAN NAN NAN NAN NAN NAN NAN
A125    7.88999 2.51576 4.97483 5.8901  21.1346 5.06414 15.3094 2.68169 8.12449 NAN NAN NAN NAN NAN
A126    5.99825 10.2186 15.2986 7.53729 4.34196 8.75048 16.9358 5.52708 NAN NAN NAN NAN NAN NAN
A127    28.5014 4.86702 NAN NAN NAN NAN NAN NAN NAN NAN NAN NAN NAN NAN

Ich wollte plot-Histogramm für das dataFrame mit seaborn-Funktion aus python und so versuchte ich, die folgenden Zeilen,

sns.set(color_codes=True)
sns.set(style="white", palette="muted")
sns.distplot(df)

Aber Ihre werfen die folgende Fehlermeldung,

    ValueError                                Traceback (most recent call last)
    <ipython-input-80-896d7fe85ef3> in <module>()
          1 sns.set(color_codes=True)
          2 sns.set(style="white", palette="muted")
    ----> 3 sns.distplot(df)

    /anaconda3/lib/python3.4/site-packages/seaborn/distributions.py in distplot(a, bins, hist, kde, rug, fit, hist_kws, kde_kws, rug_kws, fit_kws, color, vertical, norm_hist, axlabel, label, ax)
        210         hist_color = hist_kws.pop("color", color)
        211         ax.hist(a, bins, orientation=orientation,
    --> 212                 color=hist_color, **hist_kws)
        213         if hist_color != color:
        214             hist_kws["color"] = hist_color

   /anaconda3/lib/python3.4/site-packages/matplotlib/axes/_axes.py in hist(self, x, bins, range, normed, weights, cumulative, bottom, histtype, align, orientation, rwidth, log, color, label, stacked, **kwargs)
       5627             color = mcolors.colorConverter.to_rgba_array(color)
       5628             if len(color) != nx:
    -> 5629                 raise ValueError("color kwarg must have one color per dataset")
       5630 
       5631         # We need to do to 'weights' what was done to 'x'

    ValueError: color kwarg must have one color per dataset

Jedem hilft/Vorschläge, um loszuwerden, diese Fehler, wäre sehr dankbar..!!!

Nun, offensichtlich Histogramm-Funktion mapping für 2D-array im Allgemeinen Fall ist nicht definiert. Wie Sie sehen konnten, distplot nimmt 1D array, Series oder list. Sie könnten versuchen, pass color=X wo X ist im Wörterbuch von color mapping, z.B. {'Sample_1': 'Red', ...}, aber ich bezweifle, dass es funktionieren wird.
ok, können wir es verwenden, mit seaborn, es wäre schön, wenn Ihr es hier..ich bin Anfänger in seaborn Plotten..
Ich würde vorschlagen, Sie zu vermeiden Suche für 1-line-Lösung für Sie Probleme. Beginnen Sie mit matplotlib (seaborn nur Reihe von erweiterten Werkzeugen arbeiten über die matplotlib). Für Ihre Aufgabe, zuordnen Reihe von Nebenhandlungen (plt.subplots(nrows=?, ncols=?)), Durchlaufen df Spalten und rufen matplotlib's hist für jedes paar subplot + column.
Es ist nicht klar, was Sie gefragt haben. Wollen Sie ein einzelnes Histogramm für alle Werte in der dataframe? Ein separates Histogramm für jede Spalte, oder für jede Zeile? Was du fragst ist derzeit nicht definiert, das ist, warum Sie sehen eine Fehlermeldung.
kannst du bitte Bearbeiten Sie die Frage? Ich verstehe die Frage nur einmal sehe ich die Antwort akzeptiert, aber in seiner derzeitigen form Ihre Frage ist sehr unklar.

InformationsquelleAutor user1017373 | 2015-10-03

Schreibe einen Kommentar