我使用“ to_datetime”方法将int64数据类型更改为“日期”时间类型,但结果太奇怪了。
df['DEATH_YMD'] = pd.to_datetime(df["DEATH_YMD"], unit='s')
结果就是它。
PT_SBST_NO P00001 1970-01-01 00:00:00.020160515 P00002 1970-01-01 00:00:00.020091001 P00003 1970-01-01 00:00:00.020081031 P00004 1970-01-01 00:00:00.020141105 P00005 1970-01-01 00:00:00.020110324 名称:DEATH_YMD,dtype:datetime64 [ns]
但是我想像下面这样创建新列
20160515 20091001
我该怎么办?
original data
df['DEATH_YMD'].value_counts()
20130704 18
20130711 18
20130703 18
20130708 18
20130709 18
..
20140513 1
20161115 1
20081022 1
20081014 1
20160516 1
Name: DEATH_YMD, Length: 1811, dtype: int64
答案 0 :(得分:0)
您需要指定一种格式:
df['DEATH_YMD'] = pd.to_datetime(df["DEATH_YMD"], format='%Y%m%d')
当数字是时间戳记时,将使用unit
参数。