.dt.strftime返回了错误的日期Pandas



我有一个pandas数据帧,其中有一列CreatedDate

id      CreatedDate
123     1586362930000
124     1586555550000

所需输出为:

id      CreatedDate
123     2020-04-08T15:50:00Z
124     2020-04-08T15:45:00Z

我尝试过以下几种:

# Change the column type from int to datetime64[ns]
df['CreatedDate'] = pd.to_datetime(df['CreatedDate'])
new_df = df['CreatedDate'].dt.strftime("%Y-%m-%d"+"T"+"%H:%M:%S"+"Z")

输出是这样的:

id      CreatedDate
123     1970-01-01 00:26:26.362930
124     1970-01-01 00:26:26.365487

这不是我所期望的,我知道那几天应该是4月8日。我只用一个字符串测试了dt.strftime("%Y-%m-%d"+"T"+"%H:%M:%S"+"Z"),它返回了所需的输出,然而,当我将其应用于数据帧时,它不能正常工作

这是unix时间

pd.to_datetime(df.CreatedDate,unit='ms').dt.strftime("%Y-%m-%d""T""%H:%M:%S""Z")
0    2020-04-08T16:22:10Z
1    2020-04-10T21:52:30Z
Name: CreatedDate, dtype: object

最新更新