首页 > 解决方案 > 如何将带有日期时间值的数据框列转换为带有时区的 ISO-8601 时间格式?

问题描述

如何将所有数据框列值转换为 ISO-8601 格式

当我执行print(df['timestamp'])以供参考时,给出低于我得到的样本值

0 2020-02-03 18:00:33
1 2020-02-03 18:00:37
2 2020-02-03 18:00:39
3 2020-02-03 18:01:16
4 2020-02-03 18:01:17
5 2020-02-03 18:02:14
6 2020-02-03 18:02:46
7 2020-02-03 18:02:50
8 2020-02-03 18:02:58

低于 预期结果

0 2020-02-03T18:00:33-06
1 2020-02-03T18:00:37-06
2 2020-02-03T18:00:39-06
3 2020-02-03T18:01:16-06
4 2020 -02-03T18:01:17-06
5 2020-02-03T18:02:14-06
6 2020-02-03T18:02:46-06
7 2020-02-03T18:02:50-06
8 2020-02 -03T18:02:58-06

标签: pythonpandasdatedatetimestrptime

解决方案


df = pd.DataFrame()

df['timestamp'] = pd.date_range('2018-01-01', periods=10, freq='H')

如果您只想以 isoformat 输出:

df['timestamp'].map(lambda x: x.isoformat())

如果要创建一个额外的列:

df['iso_timestamp'] = df['timestamp'].map(lambda x: x.isoformat())

如果要覆盖:

df['timestamp'] = df['timestamp'].map(lambda x: x.isoformat())

推荐阅读