将列类型“对象”转换为浮动

时间:2021-05-18 10:21:08

标签: python-3.x numbers comma

我的 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 函数, 我能做什么?

2 个答案:

答案 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(',','.'))