Python 派生列中的对象到时间的转换
嗨,需要datetime方面的帮助 我以mm:ss-eg(23:50)的形式提取了分秒值 但在此之后,现在我需要将其转换为“%H:%M:%S”格式,但它给出的错误与dtype('o')类型中的错误相同,在下面的代码中使用,但它给出的错误,该怎么办Python 派生列中的对象到时间的转换,python,pandas,datetime,types,Python,Pandas,Datetime,Types,嗨,需要datetime方面的帮助 我以mm:ss-eg(23:50)的形式提取了分秒值 但在此之后,现在我需要将其转换为“%H:%M:%S”格式,但它给出的错误与dtype('o')类型中的错误相同,在下面的代码中使用,但它给出的错误,该怎么办 df_raw['Time-only'] = pd.to_datetime(df_raw['time2'], format='%H:%M:%S').dt.time 我相信您需要将值转换为时间增量,以便进行下一个向量化处理,如减法或求和: df_raw
df_raw['Time-only'] = pd.to_datetime(df_raw['time2'], format='%H:%M:%S').dt.time
我相信您需要将值转换为时间增量,以便进行下一个向量化处理,如减法或求和:
df_raw = pd.DataFrame({'time2':['23:50','15:23']})
df_raw['Time-only'] = pd.to_timedelta('00:' + df_raw['time2'])
print (df_raw)
time2 Time-only
0 23:50 0 days 00:23:50
1 15:23 0 days 00:15:23
如果无法转换为时间,则无法使用矢量化操作,因为get object
python time
我相信您需要将值转换为时间增量,以便进行下一个矢量化处理,如减法或求和:
df_raw = pd.DataFrame({'time2':['23:50','15:23']})
df_raw['Time-only'] = pd.to_timedelta('00:' + df_raw['time2'])
print (df_raw)
time2 Time-only
0 23:50 0 days 00:23:50
1 15:23 0 days 00:15:23
如果无法转换为时间,则无法使用矢量化操作,因为首先使用get object
python time
将给定字符串格式转换为datetime。例如,如果我有一个字符串“2018-04-10 12:37:51.252”
df_raw['time2'] = pd.to_datetime(df_raw['time2'], format='%Y-%m-%d %H:%M:%S.%f')
执行上述操作只会更改数据类型。您可以通过执行以下操作来验证它们
df_raw.dtypes
现在,为了回答您的问题,我相信您正在尝试将时间戳mm:ss转换为hh:mm:ss?如果没有,你能更具体一点吗
df_raw['Time-only'] = list(df_raw['time2'].map(lambda f: datetime.strftime(f, "%H:%M:%S")))
这段代码将时间戳的格式更改为12:37:51。首先,to\u datetime用于将给定的字符串格式转换为datetime。例如,如果我有一个字符串“2018-04-10 12:37:51.252”
df_raw['time2'] = pd.to_datetime(df_raw['time2'], format='%Y-%m-%d %H:%M:%S.%f')
执行上述操作只会更改数据类型。您可以通过执行以下操作来验证它们
df_raw.dtypes
现在,为了回答您的问题,我相信您正在尝试将时间戳mm:ss转换为hh:mm:ss?如果没有,你能更具体一点吗
df_raw['Time-only'] = list(df_raw['time2'].map(lambda f: datetime.strftime(f, "%H:%M:%S")))
这段代码会将时间戳的格式更改为12:37:51。请显示几行数据,打印
df.head(5)。到_dict()
将问题中的输出完全粘贴到您看到的位置。此外,如果可能的话,展示你的期望。保存猜测工作。请显示几行数据,打印df.head(5)。to_dict()。此外,如果可能的话,展示你的期望。节省猜测工作。@Manakin-hmm,转换为时间增量?哦,你说得对,我以为你的电话是到约会时间,我的朋友bad@Manakin-嗯,转换成TimeDelta?哦,你是对的,我以为你的电话是到datetime,my Bad使用了该解决方案,但抛出的错误为:TypeError:datetime.date对象的描述符“strftime”不适用于“str”对象,因为“time2”的类型是str。首先,通过执行df_raw['time2']=pd.to_datetime(df_raw['time2'],format='')将time2转换为时间戳这只是我的问题,我无法将其插入DateTime。您可以粘贴您尝试转换的确切值吗?或数据帧的任何一行。使用了解决方案,但引发了以下错误:TypeError:datetime.date对象的描述符“strftime”不适用于“str”对象,因为“time2”的类型是str。首先,通过执行df_raw['time2']=pd.to_datetime(df_raw['time2',format='')将time2转换为timestamp这只是我的问题,我无法将其插入DateTime。您可以粘贴您尝试转换的确切值吗?或数据框的任何一行。