पांडा श्रृंखला से NaN निकालें


81

क्या एक पांडा श्रृंखला से NaN मूल्यों को हटाने का एक तरीका है? मेरे पास एक श्रृंखला है जो इसमें कुछ NaN मान नहीं हो सकती है या नहीं, और मैं हटाए गए सभी NaN के साथ श्रृंखला की एक प्रति वापस करना चाहूंगा।

जवाबों:


119
>>> s = pd.Series([1,2,3,4,np.NaN,5,np.NaN])
>>> s[~s.isnull()]
0    1
1    2
2    3
3    4
5    5

अद्यतनों में @DSM के रूप में अद्यतन या उससे भी बेहतर दृष्टिकोण का उपयोग करते हुए pandas.Series.dropna():

>>> s.dropna()
0    1
1    2
2    3
3    4
5    5

5

का एक छोटा सा उपयोग np.nan ! = np.nan

s[s==s]
Out[953]: 
0    1.0
1    2.0
2    3.0
3    4.0
5    5.0
dtype: float64

और जानकारी

np.nan == np.nan
Out[954]: False

1

यदि आपके पास NaN के साथ पांडा सीरी है, और इसे हटाना चाहते हैं (इंडेक्स खोये बिना)

serie = serie.dropna ()

# create data for example
data = np.array(['g', 'e', 'e', 'k', 's']) 
ser = pd.Series(data)
ser.replace('e', np.NAN)
print(ser)

0      g
1    NaN
2    NaN
3      k
4      s
dtype: object

# the code
ser = ser.dropna()
print(ser)

0    g
3    k
4    s
dtype: object
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.