Ich übe meine ML-Klassifizierung Fähigkeiten auf The Billionaire Characteristics Database Datensatz.Zeichnen Sie ein Boxplot mit einem Sframe als Datenquelle
Ich verwende sframe
zum Laden und Bearbeiten der Daten und seaborn
für die Visualisierung.
Im Prozess der Datenanalyse, wollte ich durch eine kategorische Variable gruppiert, um eine Box-Plot zeichnen, wie dieses von seaborn
Tutorial:
im Datensatz gibt es eine networthusbillion
numerische Variable und selfmade
kategorische Variable das heißt, ob ein Milliardär ist self-made
oder (s) er hat inherited
die Bucks.
Wenn ich versuche, einen ähnlichen Box-Plot zu zeichnen sns.boxplot(x='selfmade', y='networthusbillion', data=data)
verwenden, wirft es die folgenden Fehler:
---------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-17-f4bd651c2ae7> in <module>()
----> 1 sns.boxplot(x='selfmade', y='networthusbillion', data=billionaires)
/home/iulian/.virtualenvs/data-science-python2/lib/python2.7/site-packages/seaborn/categorical.pyc in boxplot(x, y, hue, data, order, hue_order, orient, color, palette, saturation, width, fliersize, linewidth, whis, notch, ax, **kwargs)
2127 plotter = _BoxPlotter(x, y, hue, data, order, hue_order,
2128 orient, color, palette, saturation,
-> 2129 width, fliersize, linewidth)
2130
2131 if ax is None:
/home/iulian/.virtualenvs/data-science-python2/lib/python2.7/site-packages/seaborn/categorical.pyc in __init__(self, x, y, hue, data, order, hue_order, orient, color, palette, saturation, width, fliersize, linewidth)
420 width, fliersize, linewidth):
421
--> 422 self.establish_variables(x, y, hue, data, orient, order, hue_order)
423 self.establish_colors(color, palette, saturation)
424
/home/iulian/.virtualenvs/data-science-python2/lib/python2.7/site-packages/seaborn/categorical.pyc in establish_variables(self, x, y, hue, data, orient, order, hue_order, units)
136 # See if we need to get variables from `data`
137 if data is not None:
--> 138 x = data.get(x, x)
139 y = data.get(y, y)
140 hue = data.get(hue, hue)
AttributeError: 'SFrame' object has no attribute 'get'
ich die folgenden Formen versucht, den Box-Plot zu zeichnen - keiner von ihnen erreichte das Ergebnis:
sns.boxplot(x=billionaires['selfmade'], y=billionaires['networthusbillion'])
sns.boxplot(x='selfmade', y='networthusbillion', data=billionaires['selfmade', 'networthusbillion'])
aber ich konnte einen Box-Plot zeichnen sframe
verwenden, aber ohne die Gruppierung von selfmade
:
sns.boxplot(x=billionaires['networthusbillion'])
Also, meine Frage ist: Gibt es eine Möglichkeit, einen Box-Plot durch eine kategoriale Variable mit einem sframe
gruppiert zu ziehen? Vielleicht mache ich etwas falsch?
By the way, schaffte ich es zu zeichnen ein pandas.DataFrame
mit der gleichen Syntax (sns.boxplot(x='selfmade', y='networthusbillion', data=data)
) verwendet wird, so vielleicht ein sframe
mit seaborn
mit Gruppierung ist nur noch nicht implementiert.
Ich habe meine Antwort bearbeitet. Sehen Sie, ob es hilft (obwohl es zu diesem Zeitpunkt vielleicht zu hackig ist.) – absolutelyNoWarranty