Python 将对象文本转换为时间
我有两个列Python 将对象文本转换为时间,python,pandas,Python,Pandas,我有两个列First和Last(两个数据类型都是object),我想把它们转换成时间变量,我们称之为First\u time,Last\u time Current Dataframe ID First Last 1 7:30a 4p 2 10a 6p 3 7p 3:30a Desired Dataframe ID First Last 1 07:30 16:00 2 10:00 18:00 3 1
First
和Last
(两个数据类型都是object),我想把它们转换成时间变量,我们称之为First\u time
,Last\u time
Current Dataframe
ID First Last
1 7:30a 4p
2 10a 6p
3 7p 3:30a
Desired Dataframe
ID First Last
1 07:30 16:00
2 10:00 18:00
3 19:00 03:30
我在这里找到了一个有用的站点,并尝试将以下代码DF['hour']=pd.to_datetime(DF['Last'],format='%H').dt.hour
然而,我得到了下面的错误,我可以说它与数字旁边的文本有关。这是一个很长的错误,所以我将只发布红色的行:
TypeError: Unrecognized value type: <class 'str'>
ValueError Traceback (most recent call last)
ValueError: unconverted data remains: p
TypeError:无法识别的值类型:
ValueError回溯(最近一次调用上次)
ValueError:未转换的数据仍然存在:p
重新阅读您发布的链接。该表清楚地描述了可接受的格式<代码>4p不是这些格式中的任何一种。但是,4pm
在其中一个规范中,即%p规范。从
DF['hour'] = pd.to_datetime(DF['Last']+['m'], format='%H%p').dt.hour
重新阅读你发布的链接。该表清楚地描述了可接受的格式<代码>4p不是这些格式中的任何一种。但是,
4pm
在其中一个规范中,即%p规范。从
DF['hour'] = pd.to_datetime(DF['Last']+['m'], format='%H%p').dt.hour
从那里开始工作。nice one
pd.to_datetime(df['First']+['m'],format='%H%p').dt.time
对我来说很有效,不确定为什么我必须将m
包含在列表中,否则我会得到一个numpy,这是一个自然错误。我的错误是——你必须将它添加为列表元素,因为这与矢量化操作支持的类型一致。我已经更新了我的答案以匹配。我得到了相同的pd.to_datetime(df['start'].add('m'),格式='%I%p').dt.hour
啊,我的错误在这里-我忘了提到最近的一些时间是以分钟4:30显示的,因此我得到了一个错误:ValueError:time数据'4:30pm'与格式'%H%p'(匹配)不匹配。另外,由于也有AM时间,我如何添加“%H%a?”所有这些都包含在您在问题中引用的文档中。你在哪里?很好的一个pd.to_datetime(df['First']+['m'],format='%H%p').dt.time
适合我,不确定为什么我必须将m
包含在一个列表中,否则我得到一个numpy是一个自然错误。我的错误是——你必须将它添加为一个列表元素,因为这与矢量化操作支持的类型一致。我已经更新了我的答案以匹配。我得到了相同的pd.to_datetime(df['start'].add('m'),格式='%I%p').dt.hour
啊,我的错误在这里-我忘了提到最近的一些时间是以分钟4:30显示的,因此我得到了一个错误:ValueError:time数据'4:30pm'与格式'%H%p'(匹配)不匹配。另外,由于也有AM时间,我如何添加“%H%a?”所有这些都包含在您在问题中引用的文档中。你在哪里受不了了?