python - Python追加到ndarray
问题描述
我有一个np.ndarray
:
[[0 4 0 0] [0 5 8 2] [2 7 3 2]]
我想在位置 0 附加另一个元素,以便输出如下所示:
[['cat' 0 4 0 0] ['cat' 0 5 8 2] ['cat' 2 7 3 2]]
我试过了np.insert, append, vstack
,concatenate
正如其他帖子中所指出的那样。但是,没有一个工作。我怀疑这是因为我的数组的类型是<class 'numpy.ndarray'>
. 我也尝试将其转换为 list 并将其附加或附加到 normal np.array
,但似乎没有任何效果。
有任何想法吗?
编辑:
我试过了:
arr=[np.append('cat',i) for i in my_array]
这可行,但是,输出看起来像:
[array(['cat' 0 4 0 0], dtype=object), array(['cat' 0 5 8 2], dtype=object), array(['cat' 2 7 3 2], dtype=object)]
解决方案
Anndarray
是同质数据的容器;也就是说,每个元素都必须属于同一类型。
要使用正确的类型完成您尝试执行的操作,就像使用insert
. 在此示例中,我沿列轴-1
在索引处插入:0
>>> a
array([[0, 4, 0, 0],
[0, 5, 8, 2],
[2, 7, 3, 2]])
>>> np.insert(a, 0, -1, axis=1)
array([[-1, 0, 4, 0, 0],
[-1, 0, 5, 8, 2],
[-1, 2, 7, 3, 2]])
推荐阅读
- html - 即使列数为 12,引导程序中的列也不适合
- javascript - 如何使用带有渲染道具的 react-popper
- matplotlib - Matplotlib:imshow 给出超出范围的值(错误?)
- react-native - 为什么我不能让 React Native 调试在 VSCode 中工作?
- c# - dotnet ef 迁移:值不能为空。参数名称:contentRootPath
- tsql - 同一结果列的多个案例
- python - vaidation_data 应该是 keras fit_generator 中的一个元组
- node.js - Gitlab CI/CD:找不到模块:'src/css/index.css'。确保已安装此软件包
- javascript - 通过浏览器 javascript 访问服务器 php 文件上的 javascript 变量
- java - Spring boot Autowired Service 和 Repository 抛出 nullpointerexception