【发布时间】:2021-12-10 22:46:11
【问题描述】:
让
A = np.array([])
B = np.array([1,2])
C = np.array(["hey"])
D = np.array([])
我正在寻找一个可以将数组 B、C、D 附加到 A 的函数。但不是值,而是整个数组:
所以 A 应该是这样的:
A = np.array([[1,2],["hey"],[])
追加不起作用,连接以及堆栈等也不起作用,因为数组不一定具有相同的形状。有没有办法,例如,在追加时指定类型?
【问题讨论】:
-
您可以考虑在这里使用列表。
-
你在最后一个 sn-p 中缺少一个括号
-
正如@MadPhysicist 所指出的,numpy 中的“num”代表“数字”。它专为数值计算而设计和优化。虽然您仍然可以将它与通用
dtype=object一起使用,但它通常没有意义,因为您无法利用其他可用的优化,而且您通常最好使用本机 python 列表。你最终想要达到什么目的?如果你在做大数据操作,你也可以考虑 pandas 而不是 numpy... -
我不喜欢在 SO 问题中看到“不起作用”。显示实际代码和错误。
np.append(np.append(np.append(A,B),C),D)确实运行。np.concatenate([A,B,C,D])也是如此。解释这些有什么问题,你从中学到了什么。 -
最后一个表达式
np.array([[1,2],["hey"],[])确实运行了 - 但带有明显的警告。这不是告诉你什么重要的事情吗?
标签: python arrays numpy multidimensional-array