ufunc 'subtract' did not contain a loop with signature matching types (dtype('int64'), dtype('<U150000')) -> None
时间: 2023-08-07 19:04:56 浏览: 215
对python .txt文件读取及数据处理方法总结
5星 · 资源好评率100%
这个错误通常发生在使用 NumPy 库中的 subtract 函数时,其中一个参数的类型与预期不符。具体来说,subtract 函数需要两个参数,这两个参数应该具有相同的数据类型。在您的代码中,其中一个参数的数据类型为 int64,而另一个参数的数据类型为 Unicode 字符串类型 '<U150000',这导致错误。
要解决这个问题,您可以检查传递给 subtract 函数的参数,并确保它们具有相同的数据类型。如果您需要将 Unicode 字符串转换为 int64 类型,您可以使用 NumPy 的 astype() 函数对其进行转换。例如,如果您的字符串存储在名为 string_array 的 NumPy 数组中,您可以使用以下代码将其转换为 int64 类型:
```
int_array = string_array.astype(np.int64)
```
这将创建一个新的 int64 类型的数组,其中包含从字符串数组中提取的整数值。然后,您可以使用 subtract 函数对这两个 int64 类型的数组执行减法操作。
阅读全文