所以我有一个名为'df'的DataFrame对象,我试图将'timestamp'转换为实际的可读日期。
timestamp
0 1465893683657
1 1457783741932
2 1459730006393
3 1459744745346
4 1459744756375
我试过
df['timestamp'] = pd.to_datetime(df['timestamp'],unit='s')
但这给出了
timestamp
0 1970-01-01 00:24:25.893683657
1 1970-01-01 00:24:17.783741932
2 1970-01-01 00:24:19.730006393
3 1970-01-01 00:24:19.744745346
4 1970-01-01 00:24:19.744756375
这显然是错误的,因为我知道日期应该是今年或去年。
我做错了什么?
答案 0 :(得分:3)
单位ms
的解决方案:
print (pd.to_datetime(df.timestamp, unit='ms'))
0 2016-06-14 08:41:23.657
1 2016-03-12 11:55:41.932
2 2016-04-04 00:33:26.393
3 2016-04-04 04:39:05.346
4 2016-04-04 04:39:16.375
Name: timestamp, dtype: datetime64[ns]
答案 1 :(得分:1)
您可以减少有效数字或更好地使用@ jezrael的单位(' ms')。
In [133]: pd.to_datetime(df.timestamp // 10**3, unit='s')
Out[133]:
0 2016-06-14 08:41:23
1 2016-03-12 11:55:41
2 2016-04-04 00:33:26
3 2016-04-04 04:39:05
4 2016-04-04 04:39:16
Name: timestamp, dtype: datetime64[ns]