У меня есть столбец в кадре данных pandas, который содержит объекты datetime после применения метода pd.to_datetime(). Пока все хорошо. Теперь столбец содержит даты в форме '2016-02-08 09: 59: 00.510'. Однако я хотел бы как-то «отбросить» информацию о дате, создав входной сигнал в форме HH: MM: SS, например:Преобразование объектов pandas datetime
2016-02-08 09: 59: 00.510 -> 09:59: 00
Мне было интересно, если это возможно, и если да, я бы очень признателен за правильные способы сделать это.
Ниже приведен небольшой рабочий пример. Я смог преобразовать объекты datetime в целые числа (ns?), Но я не смог выяснить, как преобразовать объекты в столбце «Дата» в формат, который я хочу.
Как уже упоминалось: Любая помощь очень ценится!
import pandas as pd
import time
s1 = {'Timestamp' : ['20160208_095900.51','20160208_095901.51','20160208_095902.51','20160208_095903.51',
'20160208_095904.51','20160208_095905.51','20160208_095906.51','20160208_095907.51',
'20160208_095908.51','20160208_095909.51']}
df = pd.DataFrame(s1)
df['Date'] = pd.to_datetime(df['Timestamp'], format = '%Y%m%d_%H%M%S.%f')
df['ns'] = (df['Date'].astype(np.int64)/int(1e6))
print df
Когда бы вы предпочли 'ф.р. [» Date ']. Dt.strftime ('% H:% M:% S ') 'over' df [' Date ']. Apply (lambda x: x.strftime ('% H:% M:% S ')) '? – Zero
@JohnGalt следует избегать «применять», если существует векторный метод, также я думаю, что 'dt.strftime' был добавлен в' 0.17.0', поэтому вам придется использовать 'apply' для более старых версий – EdChum
@EdChum: many благодаря! Новая строка вполне достаточна. – Number42