代码:
df['Rep'] = df['Rep'].str.replace('\\n', ' ')
问题: 如果df[‘Rep’]为空或NULL,则会出现错误:
Failed: Can only use .str accessor with string values!
有没有办法处理列值为空或NULL时的情况?如果为空或NULL,则忽略该行
代码:
df['Rep'] = df['Rep'].str.replace('\\n', ' ')
问题: 如果df[‘Rep’]为空或NULL,则会出现错误:
Failed: Can only use .str accessor with string values!
有没有办法处理列值为空或NULL时的情况?如果为空或NULL,则忽略该行
默认情况下,空系列dtype
将为float64
.
您可以使用astype
:
df['Rep'] = df['Rep'].astype('str').str.replace('\\n', ' ')
测试代码:
df = pd.DataFrame({'Rep': []})
# works
df['Rep'] = df['Rep'].astype('str').str.replace('\\n', ' ')
# doesn't work
df['Rep'] = df['Rep'].str.replace('\\n', ' ')
我不知道你使用的是哪个版本的Pandas ,他们会将默认的dtype
改为object
.
编辑:仍然不能使用object
,只是使用最新版本的Pandas (2.0.0)进行了测试.