आप कर सकते हैं लगभग करके आप क्या चाहते हैं पाने:
g.plot(kind='bar')
लेकिन यह समूह में एक भूखंड का उत्पादन (और नहीं करता है ' समूहों के बाद भूखंडों का नाम नहीं है, इसलिए यह थोड़ा बेकार आईएमओ है।)
यहाँ कुछ है जो नहीं बल्कि सुंदर लग रहा है, लेकिन काफी "मैन्युअल" matplotlib
काम है, जो हर किसी से बचने के लिए चाहता है की एक बहुत कुछ शामिल है, लेकिन कोई भी कर सकते हैं:
import numpy.random as rnd
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import cm
x = pd.DataFrame(rnd.randn(100).reshape(20, 5), columns=list('abcde'))
group_col = 'groups'
groups = ['foo', 'bar', 'baz']
x[group_col] = pd.Series(rnd.choice(groups, len(x)))
g = x.groupby(group_col)
num_groups = g.ngroups
fig, axes = plt.subplots(num_groups)
for i, (k, group) in enumerate(g):
ax = axes[i]
ax.set_title(k)
group = group[[c for c in group.columns if c != group_col]]
num_columns = len(group.columns)
colours = cm.Spectral([float(x)/num_columns for x in range(num_columns)])
ax.hist(group.values, 5, histtype='bar',
label=list(group.columns), color=colours,
linewidth=1, edgecolor='white')
ax.legend()
plt.show()
कौन सा मुझे लगता है कि आप देता है कि आप क्या चाहते:
अद्यतन टिप्पणियों के जवाब में (और के रूप में इस सवाल का जवाब कुछ साल पुरानी है) मैं अपने barest हड्डियों के लिए नीचे इस सवाल का जवाब पट्टी की कोशिश की है।
अब
groupby
ऑब्जेक्ट्स के प्लॉट लेबलिंग का एक तरीका हो सकता है लेकिन मुझे इसकी जानकारी नहीं है।
axes = g.plot(kind='hist')
for i, (groupname, group) in enumerate(g):
axes[i].set_title(groupname)
अद्भुत:
यहाँ यह करने के लिए सरल संभव तरीका है। तो, असली matplotlib api के साथ गंदा के साथ हाथों के बिना यह करने के लिए कोई रास्ता नहीं है। यह एक पांडा सीमा होनी चाहिए, क्या मैं सही हूँ? – vumaasha
मैं हिस्टोग्राम की तलाश में हूं? मैं सलाखों को हिस्टोग्राम में कैसे परिवर्तित कर सकता हूं? – vumaasha
मैंने हिस्टोग्राम का उपयोग करने के लिए उत्तर अपडेट किया है (और परिणाम को बहुत सुंदर बनाते हैं।) – LondonRob