如何给 numpy 数据, 指定插入一列或者一行数据, insert 还是相当好玩的, 可以指定位置插入,相对于其他的还是挺强大的。

 

添加一列数据:

方法1: 使用 insert

c = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
mylist = []
for i in c:
    f = np.insert(i, 0, np.array([10, 20]), axis=1)
    mylist.append(f)
arr1 = np.array(mylist)
# print(arr1)



结果:
[[[10  1  2  3]
  [20  4  5  6]]

 [[10  7  8  9]
  [20 10 11 12]]]

 

方法2: 使用insert  + 列表生成式   可以插入到指定的位置中去

c = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
arr2 = np.array([np.insert(i, 0, np.array([10, 20]), axis=1) for i in c])
print(arr2)

结果:
[[[10  1  2  3]
  [20  4  5  6]]

 [[10  7  8  9]
  [20 10 11 12]]]

方法3: np.c_[a,b]  函数

 

c = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
d = np.array([100, 200])
mylist = []
for i in c:
    q = np.c_[i, d]
    mylist.append(q)
arr3 = np.array(mylist)
print(arr3)

结果:
[[[  1   2   3 100]
  [  4   5   6 200]]

 [[  7   8   9 100]
  [ 10  11  12 200]]]

 

方法4: np.c_[a,b]  函数 + 列表生成式


c = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
d = np.array([100, 200])
arr4 = np.array([np.c_[i, d].tolist() for i in c])
print(arr4)

结果:
[[[  1   2   3 100]
  [  4   5   6 200]]

 [[  7   8   9 100]
  [ 10  11  12 200]]]

 

方法5: column_stack 函数 + 列表生成式

c = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
d = np.array([100, 200])
arr5 = np.array([np.column_stack((i,d)) for i in c])
print(arr5)

结果:
[[[  1   2   3 100]
  [  4   5   6 200]]

 [[  7   8   9 100]
  [ 10  11  12 200]]]

添加一行数据:

方法一: 加一行  np.row_stack 函数   添加行

ls = []
c = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
d = np.array([100, 200, 300])
for i in c:
    q = np.row_stack((i, d))
    ls.append(q)
arr7 = np.array(ls)
print(arr7)


结果:
    [[[  1   2   3]
  [  4   5   6]
  [100 200 300]]

 [[  7   8   9]
  [ 10  11  12]
  [100 200 300]]]

 

方法2 :使用 insert 语法 添加行

ls = []
c = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
d = np.array([100, 200, 300])
for i in c:
    q = np.insert(i, 0, np.array([100, 200, 300]), axis=0)
    ls.append(q)
arr8 = np.array(ls)
print(arr8)


结果:
[[[  1   2   3]
  [  4   5   6]
  [100 200 300]]
 [[  7   8   9]
  [ 10  11  12]
  [100 200 300]]]

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐