Yanıtlar:
Verilerinize uygun to_datetimebir biçim belirterek işlevi kullanın .
raw_data['Mycol'] = pd.to_datetime(raw_data['Mycol'], format='%d%b%Y:%H:%M:%S.%f')
SettingWithCopyWarning@ Darth-behfans stackoverflow.com/a/42773096/4487805
Mycol'daki .apply()değerler üzerinde çalışmak için DataFrame yöntemini kullanabilirsiniz :
>>> df = pd.DataFrame(['05SEP2014:00:00:00.000'],columns=['Mycol'])
>>> df
Mycol
0 05SEP2014:00:00:00.000
>>> import datetime as dt
>>> df['Mycol'] = df['Mycol'].apply(lambda x:
dt.datetime.strptime(x,'%d%b%Y:%H:%M:%S.%f'))
>>> df
Mycol
0 2014-09-05
Dönüştürülecek birden fazla sütununuz varsa aşağıdakileri yapabilirsiniz:
df[["col1", "col2", "col3"]] = df[["col1", "col2", "col3"]].apply(pd.to_datetime)
raw_data['Mycol'] = pd.to_datetime(raw_data['Mycol'], format='%d%b%Y:%H:%M:%S.%f')
çalışır, ancak bir DataFrame bir dilim kopyası üzerinde ayarlanmış bir A değeri Python uyarısı ile sonuçlanır. .loc[row_indexer,col_indexer] = valueBunun yerine kullanmayı deneyin
Bu bazı zincirleme indeksleme nedeniyle olduğunu tahmin ediyorum.
to_datetimeSütunu DateTime olarak ayrıştırmak için panda işlevini kullanın . Ayrıca, kullanarak infer_datetime_format=True, biçimi otomatik olarak algılar ve belirtilen sütunu DateTime'a dönüştürür.
import pandas as pd
raw_data['Mycol'] = pd.to_datetime(raw_data['Mycol'], infer_datetime_format=True)
formatbağımsız değişken gerekli değildir.to_datetimeakıllı. Devam edin ve verilerinizi eşleştirmeye çalışmadan deneyin.