Panda Python错误:无法将字符串转换为浮点

Panda Python错误:无法将字符串转换为浮点,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我无法将字符串更改为浮点值。我是Python新手,在堆栈溢出方面找不到任何类似的问题。对不起,如果我错过了 我的数据片段 我的代码如下所示 输出 要将Col Total中的字符串更改为与此一起浮动吗 dt.Total = dt.Total.astype(float) 错误:ValueError:无法将字符串转换为浮点:“总计”有关总计信息,请参见下文 ------------------------------------------------------------------------

我无法将字符串更改为浮点值。我是Python新手,在堆栈溢出方面找不到任何类似的问题。对不起,如果我错过了

我的数据片段

我的代码如下所示

输出

要将Col Total中的字符串更改为与此一起浮动吗

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'