python - 如何将字符添加到 pandas 列中的日期或 str?
问题描述
有一个数据框df
它包含列 df.date,类型对象。示例 2019-01-01
我想将这个值“T07:00:00+0000”添加到每个日期,所以我想要的输出是 2019-01-01T07:00:00+0000。
我试过了
df.date + 'T07:00:00+0000', as the type of the column object
但是得到了这个错误
类型错误:+ 不支持的操作数类型:“datetime.date”和“str”
好的,如果是日期时间,让我们转换为字符串:
df.date.dt.strftime('%Y-%m-%d')
并得到这个错误:
AttributeError:只能将 .dt 访问器与 datetimelike 值一起使用
为什么会这样?
解决方案
您可以将日期对象转换为字符串用于第一个解决方案,如果想使用Series.dt.strftime
第一个将date
对象转换为datetime
s 的下一个解决方案to_datetime
:
from datetime import date
df = pd.DataFrame({'date':[date(2019,1,1)]})
df['date1'] = df.date.astype(str) + 'T07:00:00+0000'
df['date2'] = pd.to_datetime(df.date).dt.strftime('%Y-%m-%d') + 'T07:00:00+0000'
print (df)
date date1 date2
0 2019-01-01 2019-01-01T07:00:00+0000 2019-01-01T07:00:00+0000
错误1的原因:
类型错误:+ 不支持的操作数类型:“datetime.date”和“str”
要将字符串添加到日期/日期时间,必须转换为字符串。
错误2的原因:
AttributeError:只能将 .dt 访问器与 datetimelike 值一起使用
Pandas 对python date
s 的支持仍然很差,因此有必要转换为日期时间。
推荐阅读
- mongodb - 为集群创建的用户的 Mongo DB Atlas 密码更改
- unity3d - GetKeyDown 或 GetKey 不起作用,而是发送错误消息。(统一)
- cucumber - 如何在黄瓜中执行一个文件具有一些功能列表
- keras - 在 tensorflow / Keras 中如何实现 val_loss 和 val_accuracy?
- android - Android Exo Player,在视频顶部的特定位置添加一个视图
- json - 推送到 Heroku 时,纱线安装一直在循环
- ios - App Store应用需要用苹果最新的代码签名证书重新签名
- android - 我可以通过“使用 Apple ID 登录”获取用户的电话号码以进行电话验证吗?
- swift - 无法访问 MTKView
- sql - 如何让我的 PostgresSQL 成功执行调用?