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.datetime
değ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 datetime
sayı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, object
türü ve hala aynı sorun olurdu.
Değerleri gerçekten değerler içeren datetime
ancak aynı zamanda None
bazı geçersiz değerler içerebilen (muhtemelen başka pd.to_datetime
bir try
/ except
yan 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)
None
sütunlarınızdaki, fiili None
bunun veya dize temsilcileri?
None
dize değil. Potansiyel olarak yanlış değerler de olabilir ... @erfan
datetime
ve values
içinde olan bir sütunu da gösterebilir misiniz ?
datetime.datetime
veyapandas._libs.tslibs.timestamps.Timestamp
? Eğer eski benim önerim datetime ne olursa olsunpandas
biraz daha iyi işleme türü değiştirmek için olurdu .