如何从时间列中替换不需要的字符和数字,并与数据框中的日期列结合?

时间:2017-07-12 06:07:08

标签: python pandas dataframe

我有以下数据框df:

No. Code  Date      Time

0   801   01-JAN-11 08:30:00+05:30 

1   801   02-JAN-11 08:30:00+05:30

2   801   03-JAN-11 08:30:00+05:30

3   801   04-JAN-11 08:30:00+05:30 

4   801   05-JAN-11 08:30:00+05:30

5   801   06-JAN-11 08:30:00+05:30 

我想删除' +5:30'从“时间”列中,以日期时间格式组合日期和时间列,并将其作为新列。我怎么可能这样做?

2 个答案:

答案 0 :(得分:1)

我认为to_timedelta需要splitstr[0]选择第一个值:

df['new'] = pd.to_datetime(df['Date']) + pd.to_timedelta(df['Time'].str.split('+').str[0])
print (df)
   No.  Code       Date            Time                 new
0    0   801  01-JAN-11  08:30:00+05:30 2011-01-01 08:30:00
1    1   801  02-JAN-11  08:30:00+05:30 2011-01-02 08:30:00
2    2   801  03-JAN-11  08:30:00+05:30 2011-01-03 08:30:00
3    3   801  04-JAN-11  08:30:00+05:30 2011-01-04 08:30:00
4    4   801  05-JAN-11  08:30:00+05:30 2011-01-05 08:30:00
5    5   801  06-JAN-11  08:30:00+05:30 2011-01-06 08:30:00

答案 1 :(得分:1)

你正在使用python和pandas吗?查看您的代码可能会有用,但如果您查看链接可能会有所帮助。您可以使用strftime之类的内容来格式化您想要的内容。 https://pandas.pydata.org/pandas-docs/stable/generated/pandas.to_datetime.html