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

.dt.strftime gives back the wrong dates 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") 并且它 returns 了所需的输出,但是,当我将它应用于数据帧时它无法正常工作

这是 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