为了账号安全,请及时绑定邮箱和手机立即绑定

将 df.apply() 与 datetime.strptime 一起使用的语法

将 df.apply() 与 datetime.strptime 一起使用的语法

largeQ 2021-06-28 12:42:45
考虑下表“df”:    date        sales  0   2021-04-10  483  1   2022-02-03  226  2   2021-09-23  374  3   2021-10-17  186  4   2021-07-17   35我想使用apply()and将当前为字符串的列日期转换为日期datetime.strptime()。我尝试了以下方法:format_date = "%Y-%m-%d"df["date_new"] = df.loc[:,"date"].apply(datetime.strptime,df.loc[:,"date"],format_date)我有以下错误。系列的真值是不明确的。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。我尝试了不同的语法(带有args和**kwds参数,apply()但我总是收到错误),例如:apply() 正好接受 2 个参数(给出 3 个)有人可以帮我语法吗?谢谢你。
查看完整描述

2 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

你可以这样做:

df['date_new'] = df['date'].map(lambda date_string: datetime.strptime(date_string, format_string))

由于您只是在操作,并且需要来自单列的数据,因此您应该使用.map而不是.applywhich 将立即为您提供整个行/列。

如果您必须使用申请:

df['date_new'] = df.apply(lambda row: datetime.strptime(row['date'], format_string), axis=1)

这里的关键是axis=1,所以你要逐行


查看完整回答
反对 回复 2021-07-06
  • 2 回答
  • 0 关注
  • 482 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号