python - 如何强制 NumPy 将列表附加为对象?

标签 python arrays numpy

我声明了一个空的list数组,如下所示:

r = np.array([])

我有一个操作,在每个循环上将一个值数组添加到 r 中。假设第一个循环添加了 [1,2,3],下一个循环添加了 [4,5,6,7]。如何附加到数组 r,同时强制将 append 的参数添加为对象而不是按元素添加?

意思是,完成后我想要这个:

r = np.array([[1, 2, 3], [4, 5, 6, 7]])

我认为需要dtype = object。或者至少那是我认为我想要的。

如果我使用

r = np.append(r, [1,2,3])
r = np.append(r, [4,5,6,7])

我明白

r = np.array([1., 2., 3., 4., 5., 6., 7.])

唯一的问题是,我需要稍后以特定的方式使用它。我需要能够单独访问子列表并对它们进行操作,但稍后我还需要能够访问整个数组。通常我会做一个 np.ravel 来得到这个,但是当子数组没有一致的长度时我不能这样做(他们不会)。

最佳答案

创建数组时可以使用列表理解:

>>> np.array([row for row in [1, 2, 3], [4, 5, 6, 6]])
array([[1, 2, 3], [4, 5, 6, 6]], dtype=object)

关于python - 如何强制 NumPy 将列表附加为对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38663380/

相关文章:

python - MTurk API : Unable to see my created HIT on dashboard

python - 如何在Python中的单个列表中根据给定的x,y值绘制不同的线?

c - 切换数组中的两个元素

python - 如何将(四舍五入) float 数组更改为字符串数组python

python - 迭代拟合多项式曲线

python - 在 Pandas 数据框中创建日期时间索引

javascript - 从值中更改具有一个属性的对象的键

python - 识别数组中的相似实例并合并它们

python - Numpy:了解行名称的 numpy 数组概念

python - 在python中将距离矩阵重新排列成 block 形式