首页 > 解决方案 > 熊猫 str 分裂。我可以跳过会带来麻烦的线路吗?

问题描述

我有一个数据框(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 行)一个值有两个以上的“/”符号。如何让我的代码跳过这一行?

标签: dataframesplitlineskip

解决方案


您可以尝试使用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

推荐阅读