मेरे पास कई स्तंभों के साथ एक बड़ी डेटाफ़्रेम है, जिनमें से कई प्रकार हैं datetime.datetime। समस्या यह है कि कई में मिश्रित प्रकार भी होते हैं, उदाहरण के लिए datetime.datetimeमान और Noneमान (और संभवतः अन्य अमान्य मान):
0 2017-07-06 00:00:00
1 2018-02-27 21:30:05
2 2017-04-12 00:00:00
3 2017-05-21 22:05:00
4 2018-01-22 00:00:00
...
352867 2019-10-04 00:00:00
352868 None
352869 some_string
Name: colx, Length: 352872, dtype: object
इसलिए एक objectप्रकार का कॉलम है। इससे हल किया जा सकता है df.colx.fillna(pd.NaT)। समस्या यह है कि अलग-अलग स्तंभों की खोज करने के लिए डेटाफ़्रेम बहुत बड़ा है।
एक अन्य दृष्टिकोण का उपयोग करना है pd.to_datetime(col, errors='coerce'), हालांकि यह datetimeकई स्तंभों के लिए डाली जाएगी जिनमें संख्यात्मक मान शामिल हैं।
मैं भी कर सकता था df.fillna(float('nan'), inplace=True), हालांकि तारीखों वाले कॉलम अभी भी objectटाइप हैं, और अभी भी वही समस्या होगी।
मैं उन कॉलमों को डेटाइम करने के लिए किस दृष्टिकोण का पालन कर सकता हूं जिनके मूल्यों में वास्तव में datetimeमूल्य हैं, लेकिन इसमें भी शामिल हो सकते हैं None, और संभवतः कुछ अमान्य मान भी हो सकते हैं (अन्यथा pd.to_datetimeएक try/ exceptखंड में क्या होगा) का उल्लेख करना? के लचीले संस्करण की तरह कुछpd.to_datetime(col)
Noneआपके कॉलम में, वास्तविक Noneया स्ट्रिंग प्रतिनिधि हैं?
None, स्ट्रिंग नहीं। संभावित वहाँ भी गलत मान हो सकता है ... @erfan
datetimeऔर valuesउसमें है?
datetime.datetimeयाpandas._libs.tslibs.timestamps.Timestamp? यदि पूर्व में मेरी सिफारिश है कि जो कुछ भीpandasबेहतर तरीके से हैंडल करता है उसको डेटाइम बनाया जाए ।