猿问

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

我有一个带有列的 DataFrame,该列的时间表示为 unix 时间戳。我想解析整列以将时间表示为日期时间(年-月-日-时-分-秒)。我是使用 foo 循环完成的,但是对于 large 需要很长时间DataFrame。我可以加快速度,或者是否有一些我可以使用的内置 Pandas 函数?

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


白猪掌柜的
浏览 158回答 2
2回答

白板的微信

您可以通过直接访问列并指定格式来执行此操作:df['time'] = pd.to_datetime(df['time'], format='%Y-%m-%d-%H-%M-%S')

POPMUISE

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')在这种情况下,这不是我推荐的解决方案,但此信息可能对您或其他人稍后有用。
随时随地看视频慕课网APP

相关分类

Python
我要回答