Python 3.x 如何将dataframe中的字符串值转换为浮点值

Python 3.x 如何将dataframe中的字符串值转换为浮点值,python-3.x,pandas,dataframe,type-conversion,Python 3.x,Pandas,Dataframe,Type Conversion,我有一个csv文件,我必须清理数据。问题是我可以用df.fillna()填充空值,但字符串中有一些连续的数字,需要转换为float或int进行进一步计算。 我尝试了两种方法,但都找不到解决办法。 请帮忙,因为我是数据科学领域的新手,可能在问这个问题时犯了一些错误 此列有一个字符串值:df['hum'][316]='64.70' type(df['hum'][316]) = str 我将字符串值存储到一个变量,然后使用float(value),但它给出了一个错误 value = df['hum'

我有一个csv文件,我必须清理数据。问题是我可以用df.fillna()填充空值,但字符串中有一些连续的数字,需要转换为float或int进行进一步计算。 我尝试了两种方法,但都找不到解决办法。 请帮忙,因为我是数据科学领域的新手,可能在问这个问题时犯了一些错误

此列有一个字符串值:
df['hum'][316]='64.70'

type(df['hum'][316]) = str
我将字符串值存储到一个变量,然后使用float(value),但它给出了一个错误

value = df['hum'][316]
>>>' "64.70"'
type(value)
>>> str
float(value)
>>>ValueError: could not convert string to float: ' "64.70"'


ValueError: could not convert string to float: ' "64.70"'

问题似乎是字符串中的
,请使用正则表达式将其删除

import re
value = df['hum'][316]
value=re.sub('"','',value)
float(value)
代替浮点数,还可以检查应用于整个df或系列(列)的强制转换操作的
aType

如果要将df的整列更改为浮点,请尝试:

df['hum'] = df['hum'].str.replace('"', '')
df['hum']=df['hum'].astype('float') 

关于giulio

df['hum'][316]=float(df['hum'][316])

看起来您的字符串是前导空格,对吗?请尝试
df['hum'].str.lstrip().astype(float)
谢谢您的回复,兄弟,我尝试过了,它给出了一个错误:无法将字符串转换为float:““64.70”“'看起来像是嵌入了双引号,请尝试
df['hum'].str.strip().str.replace('”,'').astype(float)
数据集中已经提供了双引号,我可以用简单的方法修复它,但我希望python做到这一点,第二,在尝试了上面的代码之后,我得到了:ValueError:无法将字符串转换为float:好的,所以现在我们有多个人无法重现您的错误,在这个阶段,您需要发布实际的数据和代码,以便进行其他操作ers帮助您,不再浪费时间Hey Giulio,我以前在编程中没有使用re模块,但我印象深刻,它工作正常,但在数据帧中仍然显示为字符串。请帮助修改数据帧尝试(可能有最佳选项):df['hum'][316]=float(re.sub(''','',df['hum'][316])它给出了以下错误:TypeError:预期字符串或类似objectValueError的字节:无法将字符串转换为float:Hell Nooo!!!!!它成功了,非常感谢你。我以前试过这类东西,但以前没用。