首页 > 解决方案 > 在 Pandas 数据框中编辑列的快速方法

问题描述

我有一个大约 400 万行的数据框。

A B C
1 2 '2019-12-30'
3 4 '03/04/2020'

C 列包含字符串格式的日期,并且有两种类型的变体。我正在尝试规范化此列,以便时间格式相同。现在我正在做以下事情。

def fixDate(x):
    if '/' in x:
        return datetime.datetime.strptime(x, '%d/%m/%Y')
    else:
        return datetime.datetime.strptime(x, '%Y-%m-%d')

df['C'] = df['C'].apply(fixDate)

有没有更好的方法来完成我想做的事情?这感觉相当笨重和缓慢。谢谢

标签: pythonpandas

解决方案


你可以通过to_datetime

pd.to_datetime(df.C.str.strip("'"),dayfirst=True)
Out[238]: 
0   2019-12-30
1   2020-04-03
Name: C, dtype: datetime64[ns]

推荐阅读