在熊猫中处理日期时间字符串中的 T [重复]

Posted

技术标签:

【中文标题】在熊猫中处理日期时间字符串中的 T [重复]【英文标题】:Dealing with a T in a date time string in pandas [duplicate] 【发布时间】:2021-10-15 10:30:30 【问题描述】:

我有这个数据集:

my_df = pd.DataFrame('id':[1,2,3],
                      'date':['2019-05-16T12:39:40+0000','2019-05-16T12:39:50+0000','2019-03-28T19:36:42+0000'])

    id  date
0   1   2019-05-16T12:39:40+0000
1   2   2019-05-16T12:39:50+0000
2   3   2019-03-28T19:36:42+0000

我想将其转换为日期时间,但中间有一个 T 我无法解析。这是我尝试过的:

my_df['date'] = pd.to_datetime(df['date'], format='yyyy-mm-ddThh:mm:ss')

但它会返回:

ValueError: time data '2019-05-16T12:39:40+0000' does not match format 'yyyy-mm-ddThh:mm:ss' (match)

请问,你能帮我解决这个问题吗?我是否错误地解析了字符串?

【问题讨论】:

【参考方案1】:

格式不用指定,pandas已经可以识别了

In [2]: my_df = pd.DataFrame('id':[1,2,3],
   ...:                       'date':['2019-05-16T12:39:40+0000','2019-05-16T12:39:50+0000','2019-03-28T19:36:42+0000']
   ...: )

In [3]: my_df
Out[3]:
   id                      date
0   1  2019-05-16T12:39:40+0000
1   2  2019-05-16T12:39:50+0000
2   3  2019-03-28T19:36:42+0000

In [4]: pd.to_datetime(my_df['date'])
Out[4]:
0   2019-05-16 12:39:40+00:00
1   2019-05-16 12:39:50+00:00
2   2019-03-28 19:36:42+00:00
Name: date, dtype: datetime64[ns, UTC]

【讨论】:

以上是关于在熊猫中处理日期时间字符串中的 T [重复]的主要内容,如果未能解决你的问题,请参考以下文章

熊猫仅分箱时间列而不是自定义范围中的日期[重复]

如何在熊猫中将字符串日期转换为数字[重复]

从熊猫的日期时间列中提取日期和小时[重复]

日期时间到熊猫系列中的字符串

熊猫用字符串转换日期

熊猫用字符串转换日期