我有一个带有列的 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')

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')
在这种情况下,这不是我推荐的解决方案,但此信息可能对您或其他人稍后有用。
添加回答
举报
0/150
提交
取消