如何在Pandas拆分列时处理None类型值
解决DataFrame拆分列时的None值AttributeError问题
错误原因很明确:你的代码用apply(lambda x: x.split(...))处理列时,遇到None空值会报错,因为NoneType对象没有split方法。
直接用pandas内置的字符串拆分方法就能解决,代码如下:
df[['TECH_PREFIX', 'TECH_SUFFIX']] = df['TECHNIQUE'].str.split(' VIA ', n=1, expand=True)
关键说明:
str.split是pandas专为字符串列设计的方法,会自动处理None或NaN空值,拆分后对应的派生列会自动设为空值,完全符合需求。- 参数
n=1表示只按第一个' VIA '拆分,避免像'EXPLOITATION VIA CAT TECHNIQUES'这类包含多个目标字符串的内容被过度拆分,保证前缀是第一个' VIA '之前的部分,后缀是剩余全部内容。 expand=True指定将拆分结果展开为多列,直接赋值给新列即可。
内容的提问来源于stack exchange,提问作者rams
相关产品推荐
相关产品推荐

