数组上的算术运算导致TypeError:-:'str'和'str'不受支持的操作数类型

问题描述

我在 Array 中有数据集,如下所示。

P=array([['984.6'],['983.9'],['983.2'],...,['7.8'],['                  ']],dtype=object)

当我执行任何算术运算时,它给出了一个错误。例如我曾尝试过Sub = P - P

`TypeError: unsupported operand type(s) for -: 'str' and 'str'` 

建议相同

解决方法

您的数组填充了字符串,而不是浮点数。引发错误,因为您试图对字符串变量执行算术运算。

,

它显示错误,因为您不能减去两个字符串,首先需要使用int(str)将这些字符串类型转换为整数,或者使用float(str)将float类型化

,

@Addy

您不能直接使用int(p)输入类型转换2-d,您必须对其进行迭代 投射整个数组的另一种方法是

new_array =  P.astype(np.float)

希望,这对您有用:)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...