return _to_string_or_unicode_array( -> 1171 _vec_string( 1172 a, object_, 'replace', [old, new] + _clean_args(count))) TypeError: string operation on non-string array
时间: 2024-03-14 20:48:26 浏览: 187
word2vec.rar_VEC-361_layers5cb_vec361_word2vec_word2vec 中文
这个错误是因为你传递给 `_to_string_or_unicode_array` 函数的 `a` 参数是一个非字符串类型的数组,例如一个包含了整数或浮点数的数组。这个函数期望传递一个字符串类型的数组,并尝试调用 `replace` 方法来替换字符串中的内容。因此,你需要先将非字符串类型的数组转换为字符串类型的数组,然后再传递给 `_to_string_or_unicode_array` 函数。你可以使用 `astype` 函数来进行类型转换,代码如下所示:
```python
import numpy as np
def _to_string_or_unicode_array(a):
if isinstance(a, np.ndarray) and np.issubdtype(a.dtype, np.number):
a = a.astype(str)
return _vec_string(a)
```
这样就可以避免上述错误了。
阅读全文