我有一个像这样的数据集
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.
有人可以帮忙吗?
答案 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供参考。