Pandas в формат проверки даты и времени - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть несколько CSV-файлов, каждый из которых имеет столбец с датой в формате ДД / ММ / ГГГГ или ММ / ДД / ГГГГ.

В данный момент я вручную проверяю файл и преобразовываю его в столбец в pandas datetime, используя код ниже.

df["date"] = pd.to_datetime(df["date"], dayfirst=True, errors='coerce')

В случае другого формата даты я меняю dayfirst = True / False. Я вынужден приводить к ошибкам, так как некоторые строки содержат грязные данные. Я хотел бы автоматизировать этот процесс, чтобы загружать только файл, и pandas автоматически определит, будет ли столбец в формате MM / DD или DD / MM.

Будем благодарны за любые советы и предложения.

1 Ответ

0 голосов
/ 20 февраля 2020

Хорошо, я нашел что-то, что работает:

for df in df_list:
    df_test=df["Date"].str.split("/", expand=True)
    df_test[0] = pd.to_numeric(df_test[0], errors="coerce")
    df_test[1] = pd.to_numeric(df_test[1], errors="coerce")
    a=df_test[0].max()
    b=df_test[1].max()
    if b > a:
        df["Date"] = pd.to_datetime(df["Creation Date"],dayfirst=False, errors='coerce')
    elif a > b:
        df["Date"] = pd.to_datetime(df["Creation Date"],dayfirst=True, errors='coerce')
...