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

加速 Pandas - 加快在整个列中更改 unix 时间戳的速度

加速 Pandas - 加快在整个列中更改 unix 时间戳的速度

白猪掌柜的 2022-01-05 10:40:20
我有一个带有列的 DataFrame,该列的时间表示为 unix 时间戳。我想解析整列以将时间表示为日期时间(年-月-日-时-分-秒)。我是使用 foo 循环完成的,但是对于 large 需要很长时间DataFrame。我可以加快速度,或者是否有一些我可以使用的内置 Pandas 函数?for idx, row in df.iterrows():             df.loc[idx, "time"] = pd.to_datetime(row['time'], unit='s')
查看完整描述

2 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

您可以通过直接访问列并指定格式来执行此操作:

df['time'] = pd.to_datetime(df['time'], format='%Y-%m-%d-%H-%M-%S')


查看完整回答
反对 回复 2022-01-05
?
POPMUISE

TA贡献1765条经验 获得超5个赞

d_kennetz 的答案是正确的,但知道它df.at()应该比df.loc()在这种情况下对您表现更好也很有用。我愿意打赌这df.at()将至少比df.loc()以下速度快一千倍:

for idx, row in df.iterrows():
            df.at[idx, "time"] = pd.to_datetime(row['time'], unit='s')

在这种情况下,这不是我推荐的解决方案,但此信息可能对您或其他人稍后有用。


查看完整回答
反对 回复 2022-01-05
  • 2 回答
  • 0 关注
  • 157 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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