이 글은 Numpy 배열 데이터의 추가, 삭제, 수정 및 쿼리를 주로 소개합니다. 이제는 모든 사람과 공유합니다. 필요한 친구들이 참조할 수 있습니다.
준비 작업:
추가됨 삭제, 수정, 검색 방법은 매우 다양합니다. 여기서는 일반적으로 사용되는 방법만 소개합니다.
>>> import numpy as np >>> a = np.array([[1,2],[3,4],[5,6]])#创建3行2列二维数组。 >>> a array([[1, 2], [3, 4], [5, 6]]) >>> a = np.zeros(6)#创建长度为6的,元素都是0一维数组 >>> a = np.zeros((2,3))#创建3行2列,元素都是0的二维数组 >>> a = np.ones((2,3))#创建3行2列,元素都是1的二维数组 >>> a = np.empty((2,3)) #创建3行2列,未初始化的二维数组 >>> a = np.arange(6)#创建长度为6的,元素都是0一维数组array([0, 1, 2, 3, 4, 5]) >>> a = np.arange(1,7,1)#结果与np.arange(6)一样。第一,二个参数意思是数值从1〜6,不包括7.第三个参数表步长为1. a = np.linspace(0,10,7) # 生成首位是0,末位是10,含7个数的等差数列[ 0. 1.66666667 3.33333333 5. 6.66666667 8.33333333 10. ] a = np.logspace(0,4,5)#用于生成首位是10**0,末位是10**4,含5个数的等比数列。[ 1.00000000e+00 1.00000000e+01 1.00000000e+02 1.00000000e+03 1.00000000e+04]
increase
>>> a = np.array([[1,2],[3,4],[5,6]]) >>> b = np.array([[10,20],[30,40],[50,60]]) >>> np.vstack((a,b)) array([[ 1, 2], [ 3, 4], [ 5, 6], [10, 20], [30, 40], [50, 60]]) >>> np.hstack((a,b)) array([[ 1, 2, 10, 20], [ 3, 4, 30, 40], [ 5, 6, 50, 60]])
다양한 차원의 배열을 직접 추가하는 것은 당연히 허용되지 않습니다. 하지만 n 열 벡터와 m 열 행 벡터를 사용하여 n×m 행렬을 구성할 수 있습니다. (조건, x, y), 첫 번째 매개변수는 부울 배열이고, 두 번째 매개변수와 세 번째 매개변수는 스칼라 또는 배열일 수 있습니다.
>>> a = np.array([[1],[2]]) >>> a array([[1], [2]]) >>> b=([[10,20,30]])#生成一个list,注意,不是np.array。 >>> b [[10, 20, 30]] >>> a+b array([[11, 21, 31], [12, 22, 32]]) >>> c = np.array([10,20,30]) >>> c array([10, 20, 30]) >>> c.shape (3,) >>> a+c array([[11, 21, 31], [12, 22, 32]])
Change
>>> a array([[1, 2], [3, 4], [5, 6]]) >>> a[0] # array([1, 2]) >>> a[0][1]#2 >>> a[0,1]#2 >>> b = np.arange(6)#array([0, 1, 2, 3, 4, 5]) >>> b[1:3]#右边开区间array([1, 2]) >>> b[:3]#左边默认为 0array([0, 1, 2]) >>> b[3:]#右边默认为元素个数array([3, 4, 5]) >>> b[0:4:2]#下标递增2array([0, 2])
다양한 차원의 배열을 직접 추가하는 것은 당연히 허용되지 않습니다. 하지만 n 열 벡터와 m 열 행 벡터를 사용하여 n×m 행렬
cond = numpy.array([True,False,True,False]) a = numpy.where(cond,-2,2)# [-2 2 -2 2] cond = numpy.array([1,2,3,4]) a = numpy.where(cond>2,-2,2)# [ 2 2 -2 -2] b1 = numpy.array([-1,-2,-3,-4]) b2 = numpy.array([1,2,3,4]) a = numpy.where(cond>2,b1,b2) # 长度须匹配# [1,2,-3,-4]
배열과 숫자의 덧셈, 뺄셈, 곱셈, 나눗셈 연산을 구성할 수 있습니다. 이는 방송과 동일합니다. , 이 작업을 각 요소에 브로드캐스팅합니다.
>>> a = np.array([[1,2],[3,4],[5,6]]) >>> a[0] = [11,22]#修改第一行数组[1,2]为[11,22]。 >>> a[0][0] = 111#修改第一个元素为111,修改后,第一个元素“1”改为“111”。 >>> a = np.array([[1,2],[3,4],[5,6]]) >>> b = np.array([[10,20],[30,40],[50,60]]) >>> a+b #加法必须在两个相同大小的数组键间运算。 array([[11, 22], [33, 44], [55, 66]])
Delete
방법 1:
a=a[0]과 같은 검색 방법을 사용하세요. .
>>> a = np.array([[1],[2]]) >>> a array([[1], [2]]) >>> b=([[10,20,30]])#生成一个list,注意,不是np.array。 >>> b [[10, 20, 30]] >>> a+b array([[11, 21, 31], [12, 22, 32]]) >>> c = np.array([10,20,30]) >>> c array([10, 20, 30]) >>> c.shape (3,) >>> a+c array([[11, 21, 31], [12, 22, 32]])
방법 2:
>>> a = np.array([[1,2],[3,4],[5,6]]) >>> a*2#相当于a中各个元素都乘以2.类似于广播。 array([[ 2, 4], [ 6, 8], [10, 12]]) >>> a**2 array([[ 1, 4], [ 9, 16], [25, 36]]) >>> a>3 array([[False, False], [False, True], [ True, True]]) >>> a+3 array([[4, 5], [6, 7], [8, 9]]) >>> a/2 array([[0.5, 1. ], [1.5, 2. ], [2.5, 3. ]])
먼저 분할한 다음 슬라이스 a=a[에 따라 값을 할당합니다. 0].
>>> a = np.array([[1,2],[3,4],[5,6]]) >>> a[0] array([1, 2])
관련 권장 사항:
numpy에서 데이터를 텍스트로 저장하고 읽는 방법
위 내용은 Numpy 배열 데이터 추가, 삭제, 수정 및 쿼리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!