python - .dt.strftime 返回错误的日期 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
推荐阅读
- c++ - Cryptoauthlib - 匿名联合只能有非静态数据成员 - 分段错误
- node.js - Github OAuth2 访问令牌端点返回“未找到”。[节点]
- php - PDO 连接 AWS RDS 字符集
- python - 修改 __main__ 模块的属性访问(名称解析的细节)
- nginx - Nginx JS 模块流变量
- javascript - 如何获取对象属性为真的密钥?
- php - 如何在 laravel 中扩展 JoinClause 类
- react-native - 选中复选框时反应本机文本组件移动
- mysql - Play Framework slick 停止数据库操作而不会出错
- reactjs - 在 TypeScript 中,何时使用 <> 以及何时使用 :