pythonでのnumpyの基本的な使用

1896 ワード

1.numpy行列に列を追加
原文の出典
問題の定義:
まず、mnのnumpyマトリクスであるデータがあります.今、彼にm(n+1)のマトリクスになる列を加えることを望んでいます.
import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
b = np.ones(3)
c = np.array([[1,2,3,1],[4,5,6,1],[7,8,9,1]])
print(a)
print(b)
print(c)

[[1 2 3]
 [4 5 6]
 [7 8 9]]
[ 1.  1.  1.]
[[1 2 3 1]
 [4 5 6 1]
 [7 8 9 1]]

私たちがしなければならないのはa,bを合わせてcになることです.
方法1
行と列を追加するには、np.c_[]np.r_[]を使用します.
np.c_[a,b]
array([[ 1.,  2.,  3.,  1.],
	[ 4.,  5.,  6.,  1.],
	[ 7.,  8.,  9.,  1.]])
np.c_[a,a]
array([[1, 2, 3, 1, 2, 3],
	[4, 5, 6, 4, 5, 6],
	[7, 8, 9, 7, 8, 9]])
np.c_[b,a]
array([[ 1.,  1.,  2.,  3.],
	[ 1.,  4.,  5.,  6.],
	[ 1.,  7.,  8.,  9.]])

方法二

使用 np.insert

np.insert(a, 0, values=b, axis=1)
array([[1, 1, 2, 3],
	[1, 4, 5, 6],
	[1, 7, 8, 9]])
np.insert(a, 3, values=b, axis=1)
array([[1, 2, 3, 1],
	[4, 5, 6, 1],
	[7, 8, 9, 1]])

方法三

使用'column_stack'

np.column_stack((a,b))




array([[ 1.,  2.,  3.,  1.],
       [ 4.,  5.,  6.,  1.],
       [ 7.,  8.,  9.,  1.]])