Panda Python错误:无法将字符串转换为浮点
我无法将字符串更改为浮点值。我是Python新手,在堆栈溢出方面找不到任何类似的问题。对不起,如果我错过了 我的数据片段 我的代码如下所示 输出 要将Col Total中的字符串更改为与此一起浮动吗Panda Python错误:无法将字符串转换为浮点,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我无法将字符串更改为浮点值。我是Python新手,在堆栈溢出方面找不到任何类似的问题。对不起,如果我错过了 我的数据片段 我的代码如下所示 输出 要将Col Total中的字符串更改为与此一起浮动吗 dt.Total = dt.Total.astype(float) 错误:ValueError:无法将字符串转换为浮点:“总计”有关总计信息,请参见下文 ------------------------------------------------------------------------
dt.Total = dt.Total.astype(float)
错误:ValueError:无法将字符串转换为浮点:“总计”有关总计信息,请参见下文
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-78-ad6ed6a5e004> in <module>
----> 1 dt.Total = dt.Total.astype(float)
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/core/generic.py in astype(self, dtype, copy, errors)
5546 else:
5547 # else, only a single dtype is given
-> 5548 new_data = self._mgr.astype(dtype=dtype, copy=copy, errors=errors,)
5549 return self._constructor(new_data).__finalize__(self, method="astype")
5550
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/core/internals/managers.py in astype(self, dtype, copy, errors)
602 self, dtype, copy: bool = False, errors: str = "raise"
603 ) -> "BlockManager":
--> 604 return self.apply("astype", dtype=dtype, copy=copy, errors=errors)
605
606 def convert(
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/core/internals/managers.py in apply(self, f, align_keys, **kwargs)
407 applied = b.apply(f, **kwargs)
408 else:
--> 409 applied = getattr(b, f)(**kwargs)
410 result_blocks = _extend_blocks(applied, result_blocks)
411
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/core/internals/blocks.py in astype(self, dtype, copy, errors)
593 vals1d = values.ravel()
594 try:
--> 595 values = astype_nansafe(vals1d, dtype, copy=True)
596 except (ValueError, TypeError):
597 # e.g. astype_nansafe can fail on object-dtype of strings
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/core/dtypes/cast.py in astype_nansafe(arr, dtype, copy, skipna)
995 if copy or is_object_dtype(arr) or is_object_dtype(dtype):
996 # Explicit copy, or required since NumPy can't view from / to object.
--> 997 return arr.astype(dtype, copy=True)
998
999 return arr.view(dtype)
ValueError: could not convert string to float: 'Total'
更新:
如果您的任何列包含字符串值,甚至是字母表,python将在尝试将其转换为float或int时显示错误。总列的前两行是字符串。因此,在尝试将列值转换为浮点值之前,您可能希望删除这些值或用其他合适的值替换它们。数据帧的前两行包含Total列中的字符串值。请看:这是否回答了您的问题@HåkenLid我假设数字0,75不能是一个数字,只要里面没有点。因此,它应该是0.75,而不是0.75。与之相反,Series和DataFrame是不同的类型。这里有很多关于熊猫的学习资源:谢谢。我已经更新了脚本,当我删除前两行并替换时,为。我得到了这个错误:AttributeError:'Series'对象没有属性'Total'@sajid,你能检查它是否仍然是一个数据帧并且标题test、name、week、Total没有被删除吗?我从您的代码中看到的是,现在没有名为TOTAL的标题!我刚刚阅读了文档I dept,意识到数据帧和序列不一样:
dt.Total = dt.Total.astype(float)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-78-ad6ed6a5e004> in <module>
----> 1 dt.Total = dt.Total.astype(float)
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/core/generic.py in astype(self, dtype, copy, errors)
5546 else:
5547 # else, only a single dtype is given
-> 5548 new_data = self._mgr.astype(dtype=dtype, copy=copy, errors=errors,)
5549 return self._constructor(new_data).__finalize__(self, method="astype")
5550
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/core/internals/managers.py in astype(self, dtype, copy, errors)
602 self, dtype, copy: bool = False, errors: str = "raise"
603 ) -> "BlockManager":
--> 604 return self.apply("astype", dtype=dtype, copy=copy, errors=errors)
605
606 def convert(
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/core/internals/managers.py in apply(self, f, align_keys, **kwargs)
407 applied = b.apply(f, **kwargs)
408 else:
--> 409 applied = getattr(b, f)(**kwargs)
410 result_blocks = _extend_blocks(applied, result_blocks)
411
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/core/internals/blocks.py in astype(self, dtype, copy, errors)
593 vals1d = values.ravel()
594 try:
--> 595 values = astype_nansafe(vals1d, dtype, copy=True)
596 except (ValueError, TypeError):
597 # e.g. astype_nansafe can fail on object-dtype of strings
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/core/dtypes/cast.py in astype_nansafe(arr, dtype, copy, skipna)
995 if copy or is_object_dtype(arr) or is_object_dtype(dtype):
996 # Explicit copy, or required since NumPy can't view from / to object.
--> 997 return arr.astype(dtype, copy=True)
998
999 return arr.view(dtype)
ValueError: could not convert string to float: 'Total'