尝试解析python中的日期时出现错误

时间:2019-07-17 09:41:11

标签: pandas datetime format strftime

我有一个像这样的数据集

  

df_NO2

  rec                             pm1 pm2p5   pm10
0 2019-05-31T13:42:27.514+00:00   1.8 43.8    3.5
1 2019-05-31T13:42:37.497+00:00   1.6 46.4    3.3
2 2019-05-31T13:42:47.497+00:00   1.8 88.4    4.5
3 2019-05-31T13:42:57.498+00:00   2.8 34.9    5.4
4 2019-05-31T13:43:07.499+00:00   2.9 93.8    6.9

我想将“ rec”列的日期和时间格式更改为

  

df_NO2

         rec                    pm1 pm2p5   pm10
0   2019-05-31 13:42:27         1.8  43.8   3.5
1   2019-05-31 13:42:37         1.6  46.4   3.3
2   2019-05-31 13:42:47         1.8  88.4   4.5
3   2019-05-31 13:42:57         2.8  34.9   5.4
4   2019-05-31 13:43:07         2.9  93.8   6.9

我尝试使用代码

import dateutil.parser

d = dateutil.parser.parse(df_NO2['rec'])
print(d.strftime('%yyyy-%mm-%dd %hh:%mm'))

但是我收到一条错误消息

Parser must be a string or character stream, not Series.

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

pd.to_datetime(df_NO2.rec).dt.strftime(%Y-%m-%d %H:%M)

输出:

0    2019-05-31 13:42
1    2019-05-31 13:42
2    2019-05-31 13:42
3    2019-05-31 13:42
4    2019-05-31 13:43

df_NO2['rec']返回整列(系列),strftime无法处理该整列。相反,您需要将strftime应用于系列的每个元素。

此外,格式说明符有误,请参见例如here供参考。