用numpy数组中的字符串替换int

时间:2020-07-28 13:05:21

标签: python-3.x numpy

我有一个如下的numpy数组:

board = np.arange(9).reshape(3, 3)

我想替换数组中的一个值,例如:

board[1, 2] = 'x'.

但是据我了解,我无法执行此操作,因为数组的类型为int,而我尝试用的是字符串。运行此命令时,出现错误:

ValueError:以10为底的int()无效文字:'x'

我尝试将数组的dtype设置为str:

board = np.arange(9, dtype=str).reshape(3, 3)

但这给了我错误:

ValueError:数据类型没有填充功能。

谢谢

1 个答案:

答案 0 :(得分:0)

numpy中,任何非数字dtype的类型均为object

这将起作用:

board = np.arange(9, dtype=object).reshape(3, 3)
board[1, 2] = 'x'

干杯。