背景:
dataframe中某列字段为带百分号的字符串,因想要进行分组聚合运算,需要把百分号去掉,再把余下数值部分转为对于的数值类型
df['字段名']=df['字段名'].apply(lambda x:x.replace('%',''))
但报错:
AttributeError: 'float' object has no attribute 'replace'
原因:
这是因为原字段中不全为字符串,还存在数值型记录
解决办法:
先把对应字段整体转为str类型
df['字段名']=df['字段名'].astype(str)
或整体修改
df=df.astype(str)
再进行清洗动作即可
备注:如何查看dataframe中所有字段的类型
df.dtypes
网友评论