首页 > 解决方案 > 迄今为止的熊猫 df 列

问题描述

我有一个带有 10 位时间戳的 pandas df 列?它是一种类型('O'),我正在尝试将其转换为 mm-dd-yyyy 的日期时间格式

date
1534636800
1534723200
1534809600
1534896000

我试过

all_data['datetime'] = pd.to_datetime(all_data['date'], format='%Y-%m-%d %H:%M:%S')

返回

datetime
1970-01-01 00:00:01.534636800
1970-01-01 00:00:01.534723200
1970-01-01 00:00:01.534809600
1970-01-01 00:00:01.534896000

这显然是不正确的。

我也试过 all_data['datetime'] = datetime.fromtimestamp(all_data['date'].astype(int))all_data['datetime'] = pd.datetime(all_data['date'].astype(int))

两者都返回错误“TypeError:无法将系列转换为 <class 'int'>”

标签: pythonpandasdatetime

解决方案


输入

df = pd.DataFrame({
    'date':[
1534636800,
1534723200,
1534809600,
1534896000,]
})
df

代码

df['date'] = pd.to_datetime(df.date, unit='s')
df

输出

    date
0   2018-08-19
1   2018-08-20
2   2018-08-21
3   2018-08-22

推荐阅读