我有一个包含以下值的数据框:
Date 07/12/17
Start Time 05:00 PM
其中每一项目前都存储为字符串。
我需要格式化/连接此信息,格式如下:
'2017-07-12 17:00'
我是python的新手,我发现的大多数解决方案都不适用于pandas数据框。
示例代码:
#import pandas
import pandas as pd
#import file
df = pd.read_csv('Registrant List.csv',
index_col='Conf Number', names = ['Conf Number','Email Address',
'Customer ID', 'First Name', 'Last Name', 'Sessions Date',
'Session Time'])
#parse session time
df['Session Start Time'] = df['Session Time'].str.rpartition('-')[0]
print(df.to_string())
示例输出:
Conf Number Email Address Customer ID First Name Last Name Sessions Date Session Time Session Start Time
25502163 abc@123.com NaN Justin Anderson 7/11/2017 10:30 AM - 11:00 AM EST 10:30 AM
答案 0 :(得分:0)
试试这个。首先,您需要将Start Time 05:00 PM
转换为适当的24小时时间格式,然后按以下方式连接Date
和Start Time
列:
df_test = pd.DataFrame({'Date': ['07/12/17','08/12/17','08/12/17','09/12/17'],
'Start Time':['05:00 PM','01:30 PM','03:00 AM','04:50 PM']})
df_test
Date Start Time
0 07/12/17 05:00 PM
1 08/12/17 01:30 PM
2 08/12/17 03:00 AM
3 09/12/17 04:50 PM
df_test['Date_Start_Time'] = pd.to_datetime(df_test.Date+' '+pd.to_datetime(df_test['Start Time']).dt.strftime('%H:%M'))
df_test
Date Start Time Date_Start_Time
0 07/12/17 05:00 PM 2017-07-12 17:00:00
1 08/12/17 01:30 PM 2017-08-12 13:30:00
2 08/12/17 03:00 AM 2017-08-12 03:00:00
3 09/12/17 04:50 PM 2017-09-12 16:50:00
我认为这是您想要的输出。检查一下。