2012-10-21 13 views
25

मेरे पास लगभग 25 कॉलम के साथ डेटाफ्रेम है, जिनमें से कई प्लॉटिंग के लिए अनुपयुक्त डेटा रखते हैं। DataFrame.hist() उन पर त्रुटियों को फेंकता है। मैं कैसे निर्दिष्ट कर सकता हूं कि उन स्तंभों को साजिश से बाहर रखा जाना चाहिए?मैं डेटाफ्रेम प्लॉट से कुछ कॉलम कैसे बहिष्कृत करूं?

उत्तर

8

हम संभावित (मैं एक github issue बनाया) इस आसान बनाते हैं, लेकिन अभी आप कॉलम आप प्लॉट करने के लिए चाहते हैं बाहर चुन सकते हैं:

df.ix[:, df.columns - to_excl].hist() 
+8

"to_excl" वस्तु क्या है? – monkut

+0

"to_excl" ऑब्जेक्ट के रूप में, आप बाहर करने के लिए कॉलम नामों वाली एक सूची का उपयोग कर सकते हैं। – razz0

6

मैं आमतौर पर निम्न करें:

columns = [column for column in df.columns if df[column].dtype == 'float64'] 
df = df[columns] 
4

मैं कल्पना तुम सिर्फ कर सकता है:

df.drop(['bad col1', 'bad col2', 'bad col3', ...], axis=1).hist() 
6

आधिकारिक docs आप ग के बाद एक उपयोग लोक

df.loc[:,['A','B']] 

और उदाहरण के लिए, केवल कॉलम 'ए' और 'बी' प्राप्त होता है। इस तरह आप प्लॉट करने के लिए कॉलम का चयन कर सकते हैं।

9

नोट, पांडा 0.16 के रूप में @Chang She की प्रतिक्रिया में संशोधन, "-" ऑपरेटर को बहिष्करण के लिए निर्धारित किया गया है। difference() विधि को इसके स्थान पर प्रोत्साहित किया जाता है।

exclude = ['bad col1', 'bad col2'] 
df.ix[:, df.columns.difference(exclude)].hist() 
+1

बहिष्करण पर अपडेट http://pandas.pydata.org/pandas-docs/version/0.17.0/dsintro.html#data-alignment-and-arithmetic। 'df.sub (डीएफ ['ए'], अक्ष = 0) 'अब पसंदीदा है। – pylang

0

कैसे बस के बारे में

df_new = df[df.columns -[cols_to_exclude]] 
df_new.plot() 
संबंधित मुद्दे