我的 df 中有一列数字(类型“对象”):
1
2,23
5,23
200
我尝试使用 astype 进行转换,但错误告诉我他们无法使用逗号进行转换, 所以我尝试使用
df[column].str.replace(',','.', inplace=True)
但结果将所有没有逗号的值转换为 NaN..
所以我尝试了另一种解决方案:
mask=df[column].str.contains(',',na=false)
df.loc[mask].str.replace(',','.',inplace=True)
但是一条错误消息告诉我数据帧没有 str 函数, 我能做什么?
答案 0 :(得分:0)
我已经尝试过,df[column] = df[column].str.replace(',','.').astype(float)
对我来说效果很好。
答案 1 :(得分:0)
我找到了一个共享解决方案:
mask=df[column].str.contains(',',na=False)
df[column]=df[column].mask(mask,df[column].str.replace(',','.'))