как извлечь только время из даты и времени - PullRequest
0 голосов
/ 30 марта 2019

Я работаю с наборами данных, состоящими из двух строк столбцов. Дата и время, такие как:

Date                      Time                       Expiry
'2018-01-29 00:00:00'     '1900-01-01 12:40:59'       '2018-02-22 15:30:00'

Что я хочу сделать, это извлечь время из столбца «Время» и заменить «00: 00: 00» в столбце «Дата», чтобы я получил «Дата + Время», например:

Output : 2018-01-29 12:40:59

Я пытался преобразовать строку времени с помощью timedelta ():

temp['Time1']=pd.to_timedelta(temp['Time'])

Но вывод не совсем то, что я хочу:

-25567 days +12:40:59

После этого я бы хотел вычесть результат из столбца «Срок действия», чтобы получить результат оставшегося времени:

Expiry - Date + Time
2018-02-22 15:30:00 - 2018-01-29 12:40:59

Expected output: 24.11 days

Я очень новичок в python, так что простите за немного любительское описание и форматирование. Буду признателен за любую оказанную помощь. Спасибо

Ответы [ 2 ]

1 голос
/ 30 марта 2019

Используйте это:

df = pd.DataFrame({'date': ['2018-01-29 00:00:00'],
                   'time': ['1900-01-01 12:40:59']})

df['datetime'] = df.date.str.split().str[0] + ' ' + df.time.str.split().str[1]
df['datetime'] = pd.to_datetime(df['datetime'])

print(df)
                  date                 time            datetime
0  2018-01-29 00:00:00  1900-01-01 12:40:59 2018-01-29 12:40:59
0 голосов
/ 30 марта 2019

вы можете извлечь все из datetime, используя следующие примеры:

datetime.year
datetime.month
datetime.day

Вы можете взглянуть на официальную документацию по python: datetime

...