gpt4 book ai didi

python - 在 python 中将字符串转换为 float 时遇到问题

转载 作者:太空狗 更新时间:2023-10-29 20:48:57 24 4
gpt4 key购买 nike

我是 Python 的新手,所以请原谅我这个简单的问题。我正在尝试将字符串转换为 float 。这是数据示例:

0     10.65%
1 7.90%

当我尝试时:

 df['int_rate'] = df['int_rate'].astype('float')

我得到:

ValueError: could not convert string to float: '13.75%'

当我尝试时:

df['int_rate'] = df['int_rate'].replace("%","", inplace=True) 

检查我的数据,我得到:

0     None
1 None

知道我做错了什么吗?非常感谢!

最佳答案

您可以使用 Series.replace使用参数 regex=True 替换 substrings:

df = pd.DataFrame({'int_rate':['10.65%','7.90%']})
df['int_rate'] = df['int_rate'].replace("%","", regex=True).astype(float)
print (df)
int_rate
0 10.65
1 7.90

Series.str.replace :

df['int_rate'] = df['int_rate'].str.replace("%","")
print (df)
int_rate
0 10.65
1 7.90
2

Series.str.rstrip :

df['int_rate'] = df['int_rate'].str.rstrip("%").astype(float)
print (df)
int_rate
0 10.65
1 7.90

看看没有它的区别:

df = pd.DataFrame({'int_rate':['10.65%','7.90%', '%']})

df['int_rate_subs'] = df['int_rate'].replace("%","", regex=True)
df['int_rate_val'] = df['int_rate'].replace("%","")
print (df)
int_rate int_rate_subs int_rate_val
0 10.65% 10.65 10.65%
1 7.90% 7.90 7.90%
2 %

关于python - 在 python 中将字符串转换为 float 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46322258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com