Birçoğu tür olan birçok sütun ile büyük bir veri çerçevesi var datetime.datetime. Sorun, birçoğunun, örneğin datetime.datetimedeğerler veNone değerler (ve potansiyel olarak diğer geçersiz değerler) :
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
Böylece bir object tip sütunu ile . Bu ile çözülebilir df.colx.fillna(pd.NaT). Sorun, veri çerçevesinin tek tek sütunları arayamayacak kadar büyük olmasıdır.
Başka bir yaklaşım kullanmak pd.to_datetime(col, errors='coerce') , ancak bu datetimesayısal değerler içeren birçok sütuna yayılacaktır .
Ben de yapabilirdim df.fillna(float('nan'), inplace=True) tarihleri içeren sütunlar hala olmasına rağmen, objecttürü ve hala aynı sorun olurdu.
Değerleri gerçekten değerler içeren datetimeancak aynı zamanda Nonebazı geçersiz değerler içerebilen (muhtemelen başka pd.to_datetimebir try/ exceptyan tümcesinde a ifadesi kullanacağından söz ederek) bu sütunları datetime uygulamak için hangi yaklaşımı izleyebilirim ? Esnek bir sürümü gibi bir şeypd.to_datetime(col)
Nonesütunlarınızdaki, fiili Nonebunun veya dize temsilcileri?
Nonedize değil. Potansiyel olarak yanlış değerler de olabilir ... @erfan
datetimeve valuesiçinde olan bir sütunu da gösterebilir misiniz ?
datetime.datetimeveyapandas._libs.tslibs.timestamps.Timestamp? Eğer eski benim önerim datetime ne olursa olsunpandasbiraz daha iyi işleme türü değiştirmek için olurdu .