Как сделать условное форматирование даты в датафрейме - PullRequest
0 голосов
/ 16 октября 2018

У меня есть CSV-файл со значением даты, например «20181029».Обратите внимание, что этот столбец также может иметь пустые значения.Я хочу преобразовать этот столбец как дату - тип данных, такой как (2018-10-29), для пустых столбцов я хочу иметь пустое значение в кадре данных.

Ответы [ 3 ]

0 голосов
/ 16 октября 2018

Вы можете конвертировать его и после прочтения файла:

import datetime as dt
df['datetime'].apply(lambda x: dt.datetime.strptime(str(x), '%Y%m%d'))

Редактировать

Как и @jezrael, предложенный в комментарии, вы можете использовать pd.to_datetime.

df['datetime'] =pd.to_datetime(df['datetime'], format = '%Y%m%d', errors='ignore')
0 голосов
/ 16 октября 2018

Используйте dt.strftime(date_format:str) для преобразования date_format.

Например,

df['date_column'].dt.strftime('%Y-%m-%d')

Для обработки нулевых значений попробуйте следующее,

df['date_column'].map(lambda x: x.strftime('%Y-%m-%d') if x else "")
0 голосов
/ 16 октября 2018

Вызовите метод read_csv с аргументом parse_dates.Значением этого аргумента должно быть имя столбца в вашем CSV-файле, который содержит даты:

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