'float' object has no attribute 'sum'
时间: 2023-06-23 15:46:07 浏览: 174
这个错误通常发生在你尝试对一个浮点数调用sum()函数时。这是因为浮点数类型没有sum()方法。sum()函数只能用于序列类型(比如列表、元组等)。
如果你想对一个浮点数进行求和,可以将其放入一个列表或元组中,然后再调用sum()函数。例如:
```
my_list = [1.2, 3.4, 5.6]
total = sum(my_list)
print(total)
```
这将输出10.2,即列表中所有元素的和。
相关问题
AttributeError: 'float' object has no attribute 'sum'
AttributeError: 'float' object has no attribute 'sum'是一个错误提示,意味着在使用一个浮点数对象时,尝试调用了一个名为'sum'的属性,但是该属性在浮点数对象中不存在。
浮点数是Python中的一种数据类型,用于表示带有小数点的数字。浮点数对象没有内置的'sum'属性,因为'sum'是用于对可迭代对象进行求和操作的函数或方法。
如果你想对一组数字进行求和操作,可以使用内置的'sum()'函数。例如:
numbers = [1.5, 2.3, 3.7]
total = sum(numbers)
print(total)
这将输出结果为7.5,表示将列表中的所有数字相加得到的总和。
报错'float' object has no attribute 'replace'
这个错误提示表明,在执行 `REGEXP_REPLACE` 函数之后,输入的数据已经被转换为了浮点数类型,而浮点数类型没有 `replace` 方法,因此会出现这个错误。
为了解决这个问题,你可以将 `REGEXP_REPLACE` 函数放在 `CAST` 函数的内部,这样可以确保在执行 `REGEXP_REPLACE` 函数之后,输入的数据是字符串类型,从而避免出现这个错误。例如:
```sql
SELECT changshang, SUM(CAST(REGEXP_REPLACE(CAST(portion AS CHAR), '[^0-9.]', '') AS FLOAT))
FROM sheji.sale
WHERE time='2023-04' AND type_c='两厢车'
GROUP BY changshang;
```
在这个修改后的代码中,先使用 `CAST(portion AS CHAR)` 将 `portion` 列中的数据转换为字符串类型,然后使用 `REGEXP_REPLACE` 函数去掉其中的非数字字符,最后再使用 `CAST(... AS FLOAT)` 函数将结果转换为浮点数类型。这样可以确保在执行 `REGEXP_REPLACE` 函数时,输入的是字符串类型的数据,从而避免出现错误。