2015-09-30 3 views
5

मैं इस श्रृंखला है:अजगर .isnull() पांडा वस्तु dtype में नेट पर काम नहीं करता

ser=pd.Series([11,22,33,np.nan,np.datetime64('nat')],name='my_series') 

श्रृंखला इस तरह दिखता है:

0  11 
1  22 
2  33 
3 NaN 
4 NaN 
Name: my_series, dtype: object 

लेकिन मैं केवल एक True शून्य के लिए मिलता है मूल्य:

ser.isnull() 

0 False 
1 False 
2 False 
3  True 
4 False 
Name: my_series, dtype: bool 

क्या यह एक बग है या मैं पांडा श्रृंखला में सही मूल्यों को सही तरीके से कैसे गिन सकता हूं? यह मदद नहीं करता है:

ser=ser.replace('NaN',np.nan) 

धन्यवाद!

+0

चाहते आप श्रृंखला बनाने हैं np.datetime उपयोग कर सकते हैं, आपके वास्तविक कोड में रूप में अच्छी तरह कर सकते हैं? –

+0

'ser.loc [4] 'परिणाम' NaN' या' NaT 'में होता है? मुझे लगता है कि डेटाटाइम 64 एनएएन और नाइट के साथ एक दूसरे से निपट सकता है, लेकिन 'ऑब्जेक्ट' की श्रृंखला में नाइट को जिम्मेदार ठहराते हुए समस्या – vmg

+0

हां है। बेशक यह केवल एक उदाहरण है ... दूसरा 'NaN'' NaT' (??) से परिवर्तित कर दिया गया है लेकिन रूपांतरण के दौरान कुछ परेशानी हो सकती है। या शायद कोई रूपांतरण नहीं है: 'ser.loc [4] 'परिणाम' NaT' – ragesz

उत्तर

0

इस के आसपास पाने के लिए आपको भी

series.apply(lambda x: str(x) == "nat")

तो फिर तुम अब भी अगर आप

+2

यह काम नहीं करता है। 'series.apply (lambda x: str (x) ==" NaT ")' ** ** काम करता है। स्ट्रिंग तुलना में केस संवेदनशीलता से सावधान रहें। – C8H10N4O2

+0

^यह सही उत्तर है – af3ld

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