【问题标题】:Create Ndarray with two columns in each row创建 Ndarray,每行有两列
【发布时间】:2018-03-12 23:45:35
【问题描述】:

我想创建一个 n 行两列的数组

我想从另外两个列表中填充列的值例如:

target_array = []

for i in range(9):
   target_array[i][0] = list_a[i]
   target_array[i][1] = list_b[i]

但这不起作用,你知道如何做类似的事情吗?

【问题讨论】:

  • 如果你想通过迭代创建一个 numpy 数组,请给出一个更好的例子,或者指出一个更好的例子——这将有助于所有用户理解这种不寻常构造的用例。跨度>

标签: python arrays numpy matrix


【解决方案1】:
In [363]: list_a = list(range(1,10))
In [364]: list_b = list(range(9,0,-1))

您通过向其附加值来构建一个新列表,例如:

In [365]: target = []
In [366]: for i in range(9):
     ...:     target.append([list_a[i],list_b[i]])
     ...:     
In [367]: target
Out[367]: [[1, 9], [2, 8], [3, 7], [4, 6], [5, 5], [6, 4], [7, 3], [8, 2], [9, 1]]

如果你需要一个数组,而不是一个列表,只需从列表中创建它:

In [368]: np.array(target)
Out[368]: 
array([[1, 9],
       [2, 8],
       [3, 7],
       [4, 6],
       [5, 5],
       [6, 4],
       [7, 3],
       [8, 2],
       [9, 1]])

【讨论】:

  • 我希望 OP 能够解释为什么他们更喜欢这个而不是简单的 column_stacking 操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-10
  • 2019-07-03
  • 1970-01-01
  • 1970-01-01
  • 2022-08-13
  • 2011-12-26
  • 1970-01-01
相关资源
最近更新 更多