Преобразование типов данных в нескольких столбцах в дату - PullRequest
1 голос
/ 27 сентября 2019

Я новичок в Python3, и я искал способ конвертировать несколько строковых столбцов в даты с помощью функции to_datetime, но мне не повезло.В настоящее время у меня есть 4 столбца, которые необходимо преобразовать из исходного типа данных в дату («гггг-мм-дд»).Ниже приведен пример кода, который я написал, хотя он работает нормально, я хотел бы сократить общее количество строк, написанных для достижения этой цели.

import pandas as pd

df = pd.read_csv("C:/Users/Desktop/test_data.csv")
print(df.dtypes)
df['Dob'] = pd.to_datetime(df['Dob'], format='%Y%m%d', errors='coerce')
df['Appt_Date'] = pd.to_datetime(df['Appt_Date'], format='%Y%m%d', errors='coerce')
df['Payment_Date'] = pd.to_datetime(df['Payment_Date'], format='%Y%m%d', errors='coerce')
df['Collection_Date'] = pd.to_datetime(df['Collection_Date'], format='%Y%m%d', errors='coerce')

print(df)

Я бы использовал astype, если бы не было 'Критически важно, чтобы эти даты были в формате «гггг-мм-дд» (если нет способа сделать это с помощью astype, о котором я не знаю).Любая помощь будет принята с благодарностью.

Спасибо!

1 Ответ

1 голос
/ 27 сентября 2019

Может быть, использовать цикл?

date_cols = ['Dob','Appt_Date','Payment_Date','Collection_Date']

for col_name in date_cols:
    df[col_name] = pd.to_datetime(df[col_name], format='%Y%m%d', errors='coerce')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...