मैं एक पांडा DataFrame में एक वेतन स्तंभ की एक boxplot प्राप्त कर सकते हैं ...पांडा बॉक्सप्लॉट पर कस्टम कॉलम ऑर्डर कैसे लागू करें?
train.boxplot(column='PredictionError',by='Category',sym='')
... लेकिन मैं समझ नहीं कैसे सूचकांक क्रम के स्तंभ 'श्रेणी' पर इस्तेमाल किया परिभाषित करने के लिए - मैं एक और कसौटी के अनुसार, मेरे स्वयं के कस्टम आदेश की आपूर्ति करना चाहते हैं:
category_order_by_mean_salary = train.groupby('Category')['Salary'].mean().order().keys()
मैं कैसे boxplot कॉलम के लिए अपने कस्टम स्तंभ क्रम लागू कर सकते हैं? (ऑर्डर करने के लिए उपसर्ग के साथ स्तंभ नामों को बदसूरत करने के अलावा)
'श्रेणी' एक स्ट्रिंग कॉलम 27 विशिष्ट मान ले रहा है: ['Accounting & Finance Jobs','Admin Jobs',...,'Travel Jobs']
। तो यह आसानी से pd.Categorical.from_array()
निरीक्षण पर साथ factorized जा सकता है, सीमा के अंदर pandas.tools.plotting.py:boxplot()
है, जो आदेश की अनुमति के बिना स्तंभ वस्तु परिवर्तित करता है:
- pandas.core.frame.py.boxplot()
- pandas.tools.plotting.py:boxplot() करने के लिए एक पासथ्रू है जो तत्काल ...
- matplotlib.pyplot.py:boxplot() जो तत्काल ...
- matplotlib.axes.py:boxplot()
मुझे लगता है मैं या तो) पांडा boxplot के एक कस्टम संस्करण (ऊपर हैक कर सकता है, या वस्तु के आंतरिक भागों में पहुंच जाते हैं। और एक वृद्धि अनुरोध भी दर्ज करें।
संपादित करें: यह प्रश्न पांडा ~ 0.13 के साथ उभरा है और शायद @ सीरो के देर से उत्तर के अनुसार हाल ही में (0.1 9 +?) संस्करणों द्वारा अप्रचलित हो गया है।
जोड़ा गया विवरण आपके लिए, और कामकाज पर विचार। एक अलग स्टैंडअलोन पूर्णांक कॉलम जोड़ना एक सभ्य ग्राफ नहीं देता है क्योंकि अब आपके कॉलम लेबल (गैरकानूनी) पूर्णांक हैं, पाठ नहीं। (कस्टम सॉर्ट-ऑर्डर को मजबूर करने के लिए श्रेणी नामों में टेक्स्ट उपसर्ग को क्लॉड करना शायद सबसे तेज़ हैक है। लेकिन फिर भी बदसूरत) – smci
[पांडा डेटाफ्रेम एक स्पष्ट कॉलम को संभाल नहीं सकता है] (http://stackoverflow.com/questions/15356433/how-to -जनेरेट-पांडा-डेटाफ्रेम-कॉलम-ऑफ-क्लासिकल-टू-स्ट्रिंग-कॉलम), आर – smci
के विपरीत जहां मैं नेतृत्व नहीं कर रहा था। मैं आमतौर पर हार्ड-कोडेड लुकअप टेबल के साथ 'लागू' का उपयोग करता हूं। हालांकि, एक अलग दृष्टिकोण के लिए मेरी संपादित प्रतिक्रिया देखें। –