Как сделать новый столбец, присоединившись к существующему столбцу в пандах

Я знаю, что есть много подобных вопросов, но я не могу найти ответы на эти вопросы. Это простой вопрос, но я все еще застрял в этой маленькой проблеме. У меня есть данные с большим количеством столбцов. Я хочу создать новый столбец, используя два из существующих столбцов. Что-то вроде этого:

Index Date         Time 
0     26-10-2017   06:00:00
1     26-10-2017   06:15:00
2     26-10-2017   06:30:00

Теперь мне нужен новый столбец, который должен выглядеть следующим образом:

Index Date         Time       Datetime
0     26-10-2017   06:00:00   26-10-2017 06:00:00
1     26-10-2017   06:15:00   26-10-2017 06:15:00
2     26-10-2017   06:30:00   26-10-2017 06:30:00

Я не могу сделать это прямо сейчас. В настоящее время я получаю кортеж с двумя строковыми значениями, но я не хочу этого:

Index Date         Time       Datetime
0     26-10-2017   06:00:00   ('26-10-2017', '06:00:00')
1     26-10-2017   06:15:00   ('26-10-2017', '06:15:00')
2     26-10-2017   06:30:00   ('26-10-2017', '06:30:00')

Я использую следующий код:

df5['Datetime'] = list(zip(df5.Date, df5.Time))

Могу ли я в любом случае получить значение так, как я хочу, а не в кортежах?

2 ответа

Решение

Предполагая, что столбцы являются строками, сложите их и используйте pd.to_datetime

df.assign(DateTime=pd.to_datetime(df.Date + ' ' + df.Time))

   Index        Date      Time            DateTime
0      0  26-10-2017  06:00:00 2017-10-26 06:00:00
1      1  26-10-2017  06:15:00 2017-10-26 06:15:00
2      2  26-10-2017  06:30:00 2017-10-26 06:30:00

Тебе нужно sum преобразованный столбец Dateto_datetime и колонка Time to_timedelta:

df.Date = pd.to_datetime(df.Date)
df.Time = pd.to_timedelta(df.Time)
df['Datetime'] = df.Date + df.Time
print (df)
            Date     Time            Datetime
Index                                        
0     2017-10-26 06:00:00 2017-10-26 06:00:00
1     2017-10-26 06:15:00 2017-10-26 06:15:00
2     2017-10-26 06:30:00 2017-10-26 06:30:00

print (df.dtypes)
Date         datetime64[ns]
Time        timedelta64[ns]
Datetime     datetime64[ns]
dtype: object
Другие вопросы по тегам