加快Pandas的速度-加快整列中的UNIX时间戳更改日期

时间:2019-04-09 16:15:27

标签: python pandas

我有一个DataFrame,其列的时间表示为unix时间戳。我想解析整列以将时间表示为datetime(年-月-日-小时-分钟-秒)。我使用foor循环来完成此操作,但是对于大型DataFrame,它花费了很长时间。我可以加快速度,还是可以使用一些内置的Pandas函数代替?

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

2 个答案:

答案 0 :(得分:2)

您可以通过直接访问该列并指定格式来做到这一点:

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

答案 1 :(得分:1)

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')

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