Python Replace方法至少接受两个参数
我的python代码返回以下错误Python Replace方法至少接受两个参数,python,pandas,csv,Python,Pandas,Csv,我的python代码返回以下错误 TypeError: replace() takes at least 2 arguments (1 given) 这是导致此错误的行,它基本上删除逗号,用点替换它,并将其转换为浮点 v=str.replace(',', '.').astype('float') 在我有下面这行代码之前,它工作得很好,但是它没有转换到float部分 v=v.replace(',', '.') 试试这些 v=float(str.replace(',',')你能分享你所做的确
TypeError: replace() takes at least 2 arguments (1 given)
这是导致此错误的行,它基本上删除逗号,用点替换它,并将其转换为浮点
v=str.replace(',', '.').astype('float')
在我有下面这行代码之前,它工作得很好,但是它没有转换到float部分
v=v.replace(',', '.')
试试这些
v=float(str.replace(',',')
你能分享你所做的确切代码步骤吗;因为在这个代码中
v=str.replace(',',').astype('float')
为什么要替换str
下面的情景对我很有效
v = "22,23"
v = float(v.replace(",","."))
print(v)
输出为:22.23
type(v)
class 'float'
应该是
v.str.replace()
否则,它将使用
str.replace()
替换字符串,该字符串至少需要2个参数。您的问题中的v
是什么,但是考虑到这个错误,我可以猜测它是一个字符串,需要将其转换为float
因此,您需要执行以下操作:
v='5,458'
v=float(v.replace(',','.'))
print(v)
print(type(v))
输出
5.458
<class 'float'>
A
0 45,48
1 4,56
2 45,7
3 67,5
dtype('O')
0 45.48
1 4.56
2 45.70
3 67.50
Name: A, dtype: float64
输出
5.458
<class 'float'>
A
0 45,48
1 4,56
2 45,7
3 67,5
dtype('O')
0 45.48
1 4.56
2 45.70
3 67.50
Name: A, dtype: float64
输出
5.458
<class 'float'>
A
0 45,48
1 4,56
2 45,7
3 67,5
dtype('O')
0 45.48
1 4.56
2 45.70
3 67.50
Name: A, dtype: float64
然后进行转换
v=v.str.replace(',','.').astype(float)
v
输出
5.458
<class 'float'>
A
0 45,48
1 4,56
2 45,7
3 67,5
dtype('O')
0 45.48
1 4.56
2 45.70
3 67.50
Name: A, dtype: float64
v=float(str.replace(‘,’,‘.))试试这些你忘记了
系列v
:v.str.replace(‘,’,‘.).astype(‘float’)
@Mykola Zotko如果我尝试v=v.str.replace(‘,’,’).astype(‘float’)
,仍然获取一个错误AttributeError:'str'对象没有属性'str'
我得到了相同的错误TypeError:replace()至少需要2个参数(给定1个)
我得到了以下错误AttributeError:'str'对象没有属性'str'
如果我尝试v=v.str.replace(',','))
按打印类型(v)检查v的数据类型。我可以推断,你的v型是字符串。在代码中,v是作为字符串还是作为数据帧需要的?我建议发布整个代码,以便调试