2017-05-15 10 views
0

私はパンダのデータフレームで作業しています。私の列の1つは日付(YYYYMMDD)、もう1つは時間(HH:MM)です。 timestampまたはdatetime64の1つの列を使用して、後でその列を索引として使用します(時系列の場合)。ここでの状況は次のとおりです。2つのデータフレーム列を1つのタイムスタンプとして連結する

My dataframe

あなたが任意のアイデアを持っていますか?古典pandas.to_datetime()のみの日と年だけで、...等...

+0

ここに2列のdtypeはありますか?最初のカラムがstrの場合、 'pd.to_datetime(df ['date'] + df ['time']、format = '%Y%m%d%H:%M:%S')'は動作するはずです – EdChum

+0

[python pandasを使用して日付と時刻の組み合わせの組み合わせ]の可能な複製(http://stackoverflow.com/questions/17978092/combine-date-and-time-columns-using-python-pandas) – IanS

+0

私は申し訳ありません。 'date'カラムは' int'、 'hour'カラムは' datetime.time'です。 – plalanne

答えて

0

セットアップ

df 
Out[1735]: 
    id  date  hour other 
0 1820 20140423 19:00:00  8 
1 4814 20140424 08:20:00  22 

ソリューション

、列が唯一の時間が含まれている場合にのみ動作するようです
import datetime as dt 
#convert date and hour to str, concatenate them and then convert them to datetime format. 
df['new_date'] = df[['date','hour']].astype(str).apply(lambda x: dt.datetime.strptime(x.date + x.hour, '%Y%m%d%H:%M:%S'), axis=1) 

df 
Out[1756]: 
    id  date  hour other   new_date 
0 1820 20140423 19:00:00  8 2014-04-23 19:00:00 
1 4814 20140424 08:20:00  22 2014-04-24 08:20:00 
関連する問題