2017-11-29 1 views
0

値:作成日付/時刻スタンプは、私は、次の値を含むデータフレームを有する

Date 07/12/17 
Start Time 05:00 PM 

これらのそれぞれは、現在の文字列として格納されます。

私は、次の形式であることを連結/この情報をフォーマットする必要があります。

'2017-07-12 17:00' 

私は、Pythonに新たなんだと私が見つけた解決策の多くはパンダのデータフレームには適用されません。

例コード:

#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  [email protected]   NaN  Justin Anderson  7/11/2017 10:30 AM - 11:00 AM EST   10:30 AM 
+0

[DataFrameの列の種類を文字列からdatetimeに変換]の可能な複製(https://stackoverflow.com/questions/17134716/convert-dataframe-column-type-from-string-to-datetime) –

+0

フォーマットされるデータフレームの例?それが現れても、その構造を伝えることは不可能です。 [再現性の良いパンダの例を作る方法](https://stackoverflow.com/questions/20109391/how-to-make-good-reproducible-pandas-examples)を参照してください。 – fuglede

答えて

0

はこれを試してみてください。まず、次のようにDateStart Time列CONCATその後、適切な24時間の時間形式にStart Time 05:00 PMを変換する必要があります。

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 

私はこれがあなたの目的の出力だと思います。それを確認してください。

関連する問題