将列中的字符串十进制数转换为DataFram中的浮点数

2024-09-30 06:19:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个数据集(包含更多列):

      FLAG__DC SEXECOND CRM_TAUX
0            N        M      0,9
1            N        M      0,9
2            N        M      1,2
3            O        M        1
4            N        M        1
5            N        M      0,9
6            O        M        1
7            N        M      0,9

我想将列CRM_TAUX转换为Float。。。请帮帮我!你知道吗

我试过这个,但不起作用:

df['CRM_TAUX'] = df.CRM_TAUX.replace(',','.')
df['CRM_TAUX'] = df.CRM_TAUX.apply(pd.to_numeric)

这是我得到的错误(还有更多):

Unable to parse string "1,2" at position 0

提前谢谢!你知道吗


Tags: to数据df错误dcfloatreplaceflag
1条回答
网友
1楼 · 发布于 2024-09-30 06:19:54

使用str.replace

df.CRM_TAUX.str.replace(',' , '.')

Out[2246]:
0    0.9
1    0.9
2    1.2
3      1
4      1
5    0.9
6      1
7    0.9
Name: CRM_TAUX, dtype: object

接下来,调用pd.to_numeric就可以了

s = df.CRM_TAUX.str.replace(',' , '.')
df['CRM_TAUX'] = pd.to_numeric(s)


Out[2250]:
  FLAG__DC SEXECOND  CRM_TAUX
0        N        M       0.9
1        N        M       0.9
2        N        M       1.2
3        O        M       1.0
4        N        M       1.0
5        N        M       0.9
6        O        M       1.0
7        N        M       0.9

相关问题 更多 >

    热门问题