问题

我是Python3的新手,我一直在寻找使用to_datetime函数将多个字符串列转换为日期的方法,但没有任何运气.目前,我有4列需要从其原始数据类型转换为日期(“yyyyy-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做到这一点),我会使用astype.任何帮助将不胜感激.

谢谢!

  最佳答案

也许使用循环?

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

  相同标签的其他问题

python-3.xpandas