如何将具有日期时间值的数据框列转换为带时区的 ISO-8601 时间格式?

How to convert dataframe column with datetime value to ISO-8601 time format with timezone?

如何将所有数据框列值转换为 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

df = pd.DataFrame()

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

如果您只想以等格式输出:

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