对于数据框:
df = pd.DataFrame({'id' : ['1'], 'date1' : ['2000-01-01'], 'date2' : ['2000-01-01']})
以下表达式返回一个包含pandas._libs.tslibs.timestamps.Timestamp即日期的数据框:
df.loc[:, ['date1', 'date2']].apply(pd.to_datetime, format = '%Y-%m-%d', errors = 'raise')
id date1 date2
0 1 2000-01-01 2000-01-01
但是,在分配后,如:
df.loc[:, ['date1', 'date2']] = df.loc[:, ['date1', 'date2']].apply(
pd.to_datetime, format = '%Y-%m-%d', errors = 'raise')
日期转换为int:
id date1 date2
0 1 946684800000000000 946684800000000000
为什么?
编辑:我认为这可能与Pandas: Type conversion using `df.loc` from datetime64 to int
不同946684800000000000不是一个时代。