Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 数组上的算术运算导致TypeError:-:“str”和“str”的操作数类型不受支持_Python_Arrays_String_Dtype - Fatal编程技术网

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

Python 数组上的算术运算导致TypeError:-:“str”和“str”的操作数类型不受支持,python,arrays,string,dtype,Python,Arrays,String,Dtype,我有如下所示的数组中的数据集 P=array([['984.6'], ['983.9'], ['983.2'], ..., ['7.8'], ['7.8'], [' ']], dtype=object) 当我做任何算术运算时,它会给出一个错误。e、 我试过Sub=P-P 请建议对于相同的显示错误,因为您不能减去两个字符串,您首先需要使用intstr将这些字符串转换为整数或使用f

我有如下所示的数组中的数据集

P=array([['984.6'],
       ['983.9'],
       ['983.2'],
       ...,
       ['7.8'],
       ['7.8'],
       ['                  ']], dtype=object)
当我做任何算术运算时,它会给出一个错误。e、 我试过Sub=P-P


请建议对于相同的

显示错误,因为您不能减去两个字符串,您首先需要使用intstr将这些字符串转换为整数或使用floatstr将其转换为float

您的数组用字符串而不是float填充。它抛出了一个错误,因为您试图对字符串变量执行算术运算。

@Addy

您不能直接使用intp键入并强制转换二维,您必须对其进行迭代 另一种对整个数组进行类型转换的方法是

new_array =  P.astype(np.float)

希望,这对您有用:

您确定要在数组中使用字符串吗?不是实际的数值?错误消息几乎说明了一切。数组中没有数字。它们的值都是字符串。”7.8'是一个字符串。7.8是一个数字。他们不一样。你不能减去字符串。您需要将字符串转换为数字,例如float'7.8',它是7.8。@sushanth ValueError:无法将字符串转换为float:@TomKarzes我在s.split]中也尝试过这一个floatn for n,但不工作尝试P=array[[984.6],[983.9],…数字周围没有单引号。我尝试过使用intP或evalP,但是TypeError:只有size-1数组可以转换为Python标量
new_array =  P.astype(np.float)