Извлечь только дату из столбца даты и времени pandas - PullRequest
0 голосов
/ 12 января 2020

У меня есть фрейм данных, как показано ниже

Date_Time             
2019-02-27 10:00:00
2019-08-07 20:23:00
2019-02-24 00:00:00

из вышеперечисленного. Я хотел бы извлечь дату только в новом столбце, как показано ниже.

Ожидаемый результат:

Date_Time               Date
2019-02-27 10:00:00     2019-02-27
2019-08-07 20:23:00     2019-08-07
2019-02-24 00:00:00     2019-02-24

Попробовал ниже код

df['Date']  = pd.to_datetime(df['Date_Time'], format="%m/%d/%Y").dt.floor('D')

Но не обеспечивает требуемый вывод

1 Ответ

1 голос
/ 12 января 2020

Если у вас есть Date_Time столбец в виде строки, начните с преобразования его в datetime тип:

df.Date_Time = pd.to_datetime(df.Date_Time)

Затем выполните:

df['Date'] = df.Date_Time.dt.date

Другое решение может быть почти таким же, как ваше, но с форматом, соответствующим фактическому форматированию исходных данных (год-месяц-день):

pd.to_datetime(df['Date_Time'], format='%Y-%m-%d').dt.floor('D')

или даже без формата:

pd.to_datetime(df['Date_Time']).dt.floor('D')

Внимание: хотя оба варианта дают одинаковую распечатку, фактические результаты разные, что вы можете проверить, например: df.iloc[0,2].

  • В первом случае результат равен datetime .date (2019, 2, 27) (только дата).
  • Но во втором случае результат Отметка времени ('2019-02-27 00:00:00') (отметка времени с «обнуленной» частью времени).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...