python报错处理:AttributeError: ‘DataFrame‘ object has no attribute ‘map‘

当对DataFrame的一列做map或其他可对Series所做的操作时,如出现以下报错:AttributeError: ‘DataFrame’ object has no attribute


在这里插入图片描述


原因:
在map操作前,对DataFrame的列进行rename,导致python把两个同名列识别为DataFrame(实际应为Series)


解决办法:
1.rename后的字段与现有字段区分
2.rename前drop掉现有字段


可在rename前后加一个简单的小检验,确保rename后无重复字段
# 示例
import pandas as pd


df = pd.DataFrame({'colA':[1,2,3],'colB':['1','2','3'],'colC':['1','2','3']})
ori_col = df.columns
df = df.rename(columns={'colC':'colA'})
new_col = df.columns
assert len(set(ori_col))==len(set(new_col)), 'rename前后字段数发生变化,请检查是否存在重名字段'
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值