2016-04-02 13 views
14

अपने आप पर मुझे पांडा डेटाफ्रेम से नैन पंक्तियों को छोड़ने का एक तरीका मिला। dat को कॉलम x के साथ डेटाफ्रेम x के साथ दिया गया है जिसमें नैन मान हैं, dat की प्रत्येक पंक्ति को छोड़ने का एक और शानदार तरीका है जिसमें x कॉलम में नैन मान है?पांडा में नैन पंक्तियों को छोड़ने का बेहतर तरीका

dat = dat[np.logical_not(np.isnan(dat.x))] 
dat = dat.reset_index(drop=True) 
+0

तुम्हारा मतलब [ 'pd.dropna()' ] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.dropna.html)? – Zero

+0

ऐसा लगता है कि यह काम करेगा – kilojoules

उत्तर

41

उपयोग dropna:

dat.dropna() 

आप पास कर सकते हैं परम how अगर सभी लेबल नेन रहे हैं या किसी भी लेबल पर नेन

dat.dropna(how='any') #to drop if any value in the row has a nan 
dat.dropna(how='all') #to drop if all values in the row are nan 

आशा है कि आपके सवाल का जवाब कर रहे हैं छोड़ने के लिए!

संपादित करें 1:

dat.dropna(subset=[col_list]) # col_list is a list of column names to consider for nan values. 
:
आप केवल विशेष स्तंभ (रों) से nan मूल्यों से युक्त पंक्तियों ड्रॉप करना चाहते मामले में, के रूप में नीचे अपने जवाब में जे डो ने सुझाव दिया, तो आप निम्न का उपयोग कर सकते
18

हितेश के उत्तर का विस्तार करने के लिए यदि आप उन पंक्तियों को छोड़ना चाहते हैं जहां 'x' विशेष रूप से नैन है, तो आप सबसेट पैरामीटर का उपयोग कर सकते हैं। उनका जवाब पंक्तियों जहां अन्य स्तंभों Nans रूप में अच्छी तरह

dat.dropna(subset=['x']) 
6

शायद ज़रुरत पड़े पिछले जवाब में आदेशों काम नहीं करता है छोड़ देंगे, इस प्रयास करें: dat.dropna(subset=['x'], inplace = True)

संबंधित मुद्दे