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)