首页 > 解决方案 > 生成生成numpy数组

问题描述

我正在尝试使用下面的代码生成一组数组。我也会尝试解释我所做的事情

第一的:

example = np.zeros(8,dtype=int)
print(example)

这给了我输出: [0 0 0 0 0 0 0 0]

然后:

input=np.array([],int)
for i in range(0,8):
  if i <8:
    example[i-1]=0
    example[i]=1
    print(example)
  input = np.append(input,example)
print(input)

然后给了我:

[0 1 0 0 0 0 0 0]
[0 0 1 0 0 0 0 0]
[0 0 0 1 0 0 0 0]
[0 0 0 0 1 0 0 0]
[0 0 0 0 0 1 0 0]
[0 0 0 0 0 0 1 0]
[0 0 0 0 0 0 0 1]

最后我这样做 input = np.append(input,example) 给了我:[1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1] 但这就是我想要的:

[[1 0 0 0 0 0 0 0]
[0 1 0 0 0 0 0 0]
[0 0 1 0 0 0 0 0]
[0 0 0 1 0 0 0 0]
[0 0 0 0 1 0 0 0]
[0 0 0 0 0 1 0 0]
[0 0 0 0 0 0 1 0]
[0 0 0 0 0 0 0 1]] 

或类似的东西。现在,我尝试搜索,无论我尝试什么都会出错。希望我能尽快得到。

标签: pythonlistnumpynumpy-ndarray

解决方案


如果我正确理解了您的问题,那么您就在身份矩阵之后。

    X = np.identity(8, dtype=int)

推荐阅读