将多列中的数据类型转换为日期

时间:2019-09-26 22:10:38

标签: python-3.x pandas

我是Python3的新手,我一直在寻找一种使用to_datetime函数将多个字符串列转换为日期的方法,但是没有任何运气。目前,我有4列需要从其原始数据类型转换为日期(“ yyyy-mm-dd”)。下面是我编写的代码的示例,虽然可以正常工作,但我想浓缩为完成此操作而编写的总行数。

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)

如果不是很重要,这些日期必须采用“ yyyy-mm-dd”格式(除非有一种我不知道的处理方式),我会使用astype。任何帮助将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:1)

也许使用循环?

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')