使用zfill为DataFrame的CIPCODE列补前导零出现AttributeError报错
解决办法
zfill()是Python字符串的内置方法,Pandas的Series对象本身没有这个属性,直接调用自然会报错。你需要通过Series的str访问器,对列中的每个字符串元素单独应用zfill()方法,具体步骤如下:
- 第一步:确保CIPCODE列是字符串类型(如果原本是数字类型,必须先转换,否则无法应用字符串方法)
df['CIPCODE'] = df['CIPCODE'].astype(str) - 第二步:使用
str.zfill()为每个元素补前导零到7位df['CIPCODE'] = df['CIPCODE'].str.zfill(7)
如果你的CIPCODE列存在缺失值(比如NaN),转换为字符串后会变成'NaN',可以先填充缺失值再处理:
df['CIPCODE'] = df['CIPCODE'].fillna('').astype(str).str.zfill(7)
内容的提问来源于stack exchange,提问作者analyst92
相关产品推荐
相关产品推荐

