Pandas 海峡分裂。我可以跳过带来麻烦的行吗?

Pandas str split. Can I skip line which gives troubles?

我有一个数据框 (all5),包括一列日期 ('CREATIE_DATUM')。有时记法是 01/JAN/2015 有时写成 01-JAN-15。 我只需要年份,所以我写了下面的代码行:

all5[['Day','Month','Year']]=all5['CREATIE_DATUM'].str.split('-/',expand=True)

但我收到以下错误:

columns must be same length as key

所以我假设在我的数据框中某处(>100.000 行)一个值有两个以上的“/”符号。 如何让我的代码跳过这一行?

您可以尝试使用pd.to_datetime,然后使用.dt 属性来访问日、月和年:

x = pd.to_datetime(all5["CREATIE_DATUM"])

all5["Day"] = x.dt.day
all5["Month"] = x.dt.month
all5["Year"] = x.dt.year