python - 如何在 Python Numpy 中将列表添加到 ArrayList
问题描述
如果我有两个数组:
import numpy as np
my_array = np.array([[1,1,"food",5],
[[2,1,"food",5],
[2,2,"clothes",10]]])
second_array = np.array ([[3,5,"water",3],
[3,2,"tea", 8],
[3,4,"pop", 5]])
我想将 second_array 添加到 my_array 中。有谁知道我该怎么做?我试过 np.append 但它删除了数组中的所有列表,只存储值,但我希望我的输出看起来像:
new_array = ([[1,1,"food",5],
[[2,1,"food",5],
[2,2,"clothes",10]]
[[3,5,"water",3],
[3,2,"tea", 8],
[3,4,"pop", 5]]])
解决方案
尝试运行您的示例时出现错误:
In [393]: my_array = np.array([[1,1,food,5],
...: [[2,1,food,5],
...: [2,2,clothes,10]]])
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-393-0a4854c57a22> in <module>()
----> 1 my_array = np.array([[1,1,food,5],
2 [[2,1,food,5],
3 [2,2,clothes,10]]])
4 second_array = np.array ([[3,5,water,3],
5 [3,2,tea, 8],
NameError: name 'food' is not defined
将名称更改为字符串:
In [394]: my_array = np.array([[1,1,'food',5],
...: [[2,1,'food',5],
...: [2,2,'clothes',10]]])
...: second_array = np.array ([[3,5,'water',3],
...: [3,2,'tea', 8],
...: [3,4,'pop', 5]])
...:
In [395]: my_array
Out[395]:
array([list([1, 1, 'food', 5]),
list([[2, 1, 'food', 5], [2, 2, 'clothes', 10]])], dtype=object)
In [396]: second_array
Out[396]:
array([['3', '5', 'water', '3'],
['3', '2', 'tea', '8'],
['3', '4', 'pop', '5']], dtype='<U21')
这是两种不同类型的数组。尝试以任何方式加入他们是没有意义的。
如果我清理第一个括号:
In [397]: my_array = np.array([[1,1,'food',5],
...: [2,1,'food',5],
...: [2,2,'clothes',10]])
In [398]: my_array
Out[398]:
array([['1', '1', 'food', '5'],
['2', '1', 'food', '5'],
['2', '2', 'clothes', '10']], dtype='<U21')
现在我有 2 个具有相同 dtype 和 shape 的数组,可以通过各种方式连接:
In [399]: np.stack((my_array, second_array))
Out[399]:
array([[['1', '1', 'food', '5'],
['2', '1', 'food', '5'],
['2', '2', 'clothes', '10']],
[['3', '5', 'water', '3'],
['3', '2', 'tea', '8'],
['3', '4', 'pop', '5']]], dtype='<U21')
In [400]: np.vstack((my_array, second_array))
Out[400]:
array([['1', '1', 'food', '5'],
['2', '1', 'food', '5'],
['2', '2', 'clothes', '10'],
['3', '5', 'water', '3'],
['3', '2', 'tea', '8'],
['3', '4', 'pop', '5']], dtype='<U21')
object
我们可以在创建 2 数组时指定一个dtype。
推荐阅读
- bash - 如何对 /etc/network/interface 进行排序?
- html - Autofill/Autocomplete not working, if the form has more than 200 input fields
- asp.net-core - Is authenticating a service-type user as an end user bad?
- javascript - Node Express joi validation failed when I added .when()
- java - 是否可以在后端使用多个框架(Spring boot + Django)?
- javascript - 多个 XMLHttpRequests - 从多个响应中检索数据
- reactjs - 仅将 React 与函数一起使用有什么好处吗?
- mongoose - Mongoose countDocuments() 返回查询
- blazor - Blazor WASM 在未通过身份验证时重定向到登录 - 不显示布局
- html - SVG 组子项未按预期转换