преобразование столбца данных из объекта в дату, а не в дату и время - PullRequest
1 голос
/ 07 июля 2019

Я использую Python версии 3.7.

У меня есть фрейм данных, df, который содержит один столбец с именем TDate.

Столбец выглядит следующим образом.

 2019-01-01 00:00:00
 2019-01-02 00:00:00
 2019-01-03 00:00:00
 2019-01-04 00:00:00

Когда я делаю df.dtypes, он говорит мне, что столбец имеет тип object.

У меня появляется строка ниже:

myDates = pd.to_datetime (df ['TDate'])

Итак, myDates - это серия панд.

Однако, если я получу доступ к одному элементу этой серии myDates и проверим тип, который мне подсказывает, это libs.tslib.timestamps.Timestamp

Я просто хочу преобразовать исходный столбец данных изОбъект даты в формате гггг-мм-дд.Каков наилучший способ сделать это?

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

Ответы [ 2 ]

2 голосов
/ 07 июля 2019

Используйте Series.dt.floor для удаления информации о времени из столбца (или лучше, если для каждой даты / времени установлено значение по умолчанию 00:00:00):

myDates = pd.to_datetime(df['TDate']).dt.floor('d')
#for save to same column
#df['TDate'] = pd.to_datetime(df['TDate']).dt.floor('d')

Или Series.dt.normalize:

myDates = pd.to_datetime(df['TDate']).dt.normalize()
#for save to same column
#df['TDate'] = pd.to_datetime(df['TDate']).dt.normalize()

Если использовать:

myDates = pd.to_datetime(df['TDate']).dt.date

затем выводится объекты дат python, поэтому большинство функций, подобных datetime, перестали работать.

1 голос
/ 07 июля 2019

Этот фрагмент преобразует метку времени в дату

df['TDate']= pd.to_datetime(df['TDate']).dt.date
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...