Другой формат в столбце даты панд - тип данных столбца или строки - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть столбец pd DataFrame со значениями даты в другом формате.Примерами являются «ГГГГ-ММ-ДД чч: мм: сс» и «ДД.ММ.ГГГГ» или даже «ДД.ММ».Я хотел бы преобразовать их в один формат (например, «ГГГГ-ММ-ДД») и попытался (среди многих вещей)

df[~df.date.str.contains('(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})')] 

найти строки, в которых дата не записана как 'ГГГГ-ММ-ДД чч: мм: сс.Однако это не работает.

Поэтому я проверил тип столбца

df['date'].dtype   #prints dtype('O')

Затем я проверил

for index, row in df.iterrows():
    print(type(row['date']))

и получил смесь отпечатков, таких как класс datetime.datetime икласс 'str'

Я в замешательстве.Почему я не всегда получаю 'str', когда столбец является типом данных 'object'?И кто-нибудь случайно знает, как заставить регулярное выражение работать?

1 Ответ

0 голосов
/ 07 декабря 2018
def findIndex(x):
    try:
        pd.to_datetime(x).strftime('%m/%d/%Y')
        return
    except:
        return True


df.date.apply(lambda x: findIndex(x))

Теперь вы можете получить все индексы с странными форматами.Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...