首页 > 解决方案 > 在python中将字符串添加到numpy数组中的语法是什么?

问题描述

假设我有一个字符串:

str = "string"

并使用np.fromstring我得到一个返回值:

array([115, 116, 114, 105, 110, 103], dtype=uint8)

现在,我已经用 numpy 创建了一个数组:

np.zeros((3,3), dtype=int)

使我的数组变为的语法是什么:

[[(115, 116, 114, 105, 110, 103) 0 0]
                              [0 0 0]
                              [0 0 0]]

标签: pythonarrayslistnumpy

解决方案


您可以使用非对称数组的 dtype 对象

import numpy as np
arr1 = np.array([115, 116, 114, 105, 110, 103], dtype=np.uint8)

arr = np.zeros((3,3), dtype=int)

outarray = arr.astype(object)
outarray[0,0] = arr1
outarray
array([[array([115, 116, 114, 105, 110, 103], dtype=uint8), 0, 0],
       [0, 0, 0],
       [0, 0, 0]], dtype=object)

outarray[0,0] = tuple(arr1)
outarray
array([[(115, 116, 114, 105, 110, 103), 0, 0],
       [0, 0, 0],
       [0, 0, 0]], dtype=object)

推荐阅读