English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
数组添加和删除操作,常用的函数如下:
函数 | 元素及描述 |
resize | 返回指定形状的新数组 |
append | 将值添加到数组末尾 |
insert | 沿指定轴将值插入到指定下标之前 |
delete | 删掉某个轴的子数组,并返回删除后的新数组 |
unique | 查找数组内的唯一元素 |
numpy.resize 함수는 지정된 크기의 새 배열을 반환합니다.
새 배열의 크기가 원래 크기보다 크다면, 원래 배열의 요소의 복사본이 포함됩니다.
numpy.resize(arr, shape)
파라미터 설명:
arr: 크기를 수정할 배열shape: 배열의 새 형상을 반환합니다
import numpy as np a = np.array([[1,2,3,4,5,6,7,8],[4,5,6,7,8,9,10,11]] print('첫 번째 배열은 다음과 같습니다:') print(a) print('\n') print ('첫 번째 배열의 형상:') print (a.shape) print('\n') b = np.resize(a, (4,2)) print ('두 번째 배열:') print (b) print('\n') print ('두 번째 배열의 형상:') print (b.shape) print('\n') # a의 첫 번째 행이 b에서 반복되는 것을 주의하세요. 크기가 커졌기 때문입니다 print ('두 번째 배열의 크기를 수정:') b = np.resize(a,(5,5)) print (b)
출력 결과는 다음과 같습니다:
첫 번째 배열은 다음과 같습니다: [[ 1 2 3 4 5 6 7 8] [ 4 5 6 7 8 9 10 11]] 첫 번째 배열의 형상: (2, 8) 두 번째 배열: [[1 2] [3 4] [5 6] [7 8]] 두 번째 배열의 형상: (4, 2) 두 번째 배열의 크기를 수정: [[ 1 2 3 4 5] [ 6 7 8 4 5] [ 6 7 8 9 10] [11 1 2 3 4] [ 5 6 7 8 4]]
numpy.append 함수는 배열의 마지막에 값을 추가합니다. 추가 작업은 전체 배열을 할당하고, 원래 배열을 새 배열로 복사합니다. 또한, 입력 배열의 차원이 일치하지 않으면 ValueError가 발생합니다.
append 함수는 항상 일维 배열을 반환합니다.
numpy.append(arr, values, axis=None)
파라미터 설명:
arr: 입력 배열values: arr에 추가할 값이며, arr의 형상과 일치해야 합니다(추가할 축을 제외하고)axis: 기본적으로 None입니다. 축이 정의되지 않으면, 가로 방향으로 추가되며, 항상 일维 배열을 반환합니다! 축이 정의되어 있을 때, 각각 0과1그때. 축이 정의되어 있을 때, 각각 0과1그때( 열 수가 같아야 합니다). 축이1그때, 배열은 오른쪽에 추가됩니다(행 수가 같아야 합니다).
import numpy as np a = np.array([[1,2,3,4,5,6,7,8],[4,5,6,7,8,9,10,11]] print('첫 번째 배열은 다음과 같습니다:') print(a) print('\n') print ('배열에 요소 추가:') print (np.append(a, [7,8,9)) print('\n') print ('축 0에서 요소 추가:') print (np.append(a, [[1,2,3,4,5,6,7,8]], axis = 0)) print('\n') print('축', 1 요소 추가:']) print (np.append(a, [[5,5,5,5,5,5,5],[7,8,9,7,8,9,1]], axis = 1))
출력 결과는 다음과 같습니다:
첫 번째 배열은 다음과 같습니다: [[ 1 2 3 4 5 6 7 8] [ 4 5 6 7 8 9 10 11]] 배열에 요소 추가: [ 1 2 3 4 5 6 7 8 4 5 6 7 8 9 10 11 7 8 9] 축 0에서 요소 추가: [[ 1 2 3 4 5 6 7 8] [ 4 5 6 7 8 9 10 11] [ 1 2 3 4 5 6 7 8]] 축에 따라 1 요소 추가: [[ 1 2 3 4 5 6 7 8 5 5 5 5 5 5 5] [ 4 5 6 7 8 9 10 11 7 8 9 7 8 9 1]]
numpy.insert 함수는 주어진 인덱스 전에 주어진 축에서 입력 배열에 값을 삽입합니다.
값의 타입이 삽입될 때 타입으로 변환되면, 그것은 입력 배열과 다릅니다. 삽입은 현장에서 이루어지지 않으며, 함수는 새 배열을 반환합니다. 또한, 축이 제공되지 않으면, 입력 배열은 펼쳐집니다.
numpy.insert(arr, obj, values, axis)
파라미터 설명:
arr: 입력 배열obj: 삽입할 값을 삽입할 인덱스 전에 삽입합니다values: 삽입할 값axis: 삽입할 축을 따라 삽입합니다, 제공하지 않으면 입력 배열이 확장됩니다
import numpy as np a = np.array([[1,2],[3,4],[5,6]] print('첫 번째 배열은 다음과 같습니다:') print(a) print('\n') print('Axis 매개변수를 전달하지 않았습니다. 삽입 전에 입력 배열이 확장됩니다') print(np.insert(a,3,11,12)) print('\n') print('Axis 매개변수를 전달했습니다. 값을 배열에 맞게 브로드캐스팅합니다') print('축 0에 따라 브로드캐스팅:) print(np.insert(a,1,11],axis = 0)) print('\n') print('축', 1 브로드캐스팅:) print(np.insert(a,1,11,axis = 1))
출력 결과는 다음과 같습니다:
첫 번째 배열은 다음과 같습니다: [[1 2] [3 4] [5 6]] Axis 매개변수를 전달하지 않았습니다. 입력 배열은 삽입 전에 확장됩니다 [ 1 2 3 11 12 4 5 6] Axis 매개변수를 전달했습니다. 값을 배열에 맞게 브로드캐스팅합니다 축 0에 따라 브로드캐스팅: [[ 1 2] [11 11] [ 3 4] [ 5 6]] 축에 따라 1 브로드캐스팅: [[ 1 11 2] [ 3 11 4] [ 5 11 6]]
numpy.delete 함수는 입력 배열에서 지정된 서브 배열을 제거한 새 배열을 반환합니다. insert() 함수와 마찬가지로, 축 매개변수를 제공하지 않으면 입력 배열이 확장됩니다
Numpy.delete(arr, obj, axis)
파라미터 설명:
arr: 입력 배열obj: 슬라이싱이 가능하거나 정수 또는 정수 배열, 입력 배열에서 제거할 서브 배열을 나타냅니다axis: 지정된 서브 배열을 제거하는 축을 따라 제거합니다, 제공하지 않으면 입력 배열이 확장됩니다
import numpy as np a = np.arange(12).reshape(3,4) print('첫 번째 배열은 다음과 같습니다:') print(a) print('\n') print('Axis 매개변수를 전달하지 않았습니다. 삽입 전에 입력 배열이 확장됩니다') print(np.delete(a,5)) print('\n') print('두 번째 열을 제거합니다:) print(np.delete(a,1,axis = 1)) print('\n') print('배열에서 제거된 대체 값을 포함하는 슬라이스:) a = np.array([1,2,3,4,5,6,7,8,9,10] print(np.delete(a, np.s_[::2))
출력 결과는 다음과 같습니다:
첫 번째 배열은 다음과 같습니다: [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] Axis 매개변수를 전달하지 않았습니다. 입력 배열은 삽입 전에 확장됩니다 [ 0 1 2 3 4 6 7 8 9 10 11] 두 번째 열을 제거합니다: [[ 0 2 3] [ 4 6 7] [ 8 10 11]] 배열에서 제거된 대체 값을 포함하는 슬라이스: [ 2 4 6 8 10]
numpy.unique 함수는 배열에서 중복 요소를 제거합니다
numpy.unique(arr, return_index, return_inverse, return_counts)
arr: 입력 배열, 일维 배열이 아니면 확장됩니다return_index: true이면, 새 목록 요소가 오래된 목록에서 위치하는 위치(인덱스)를 목록 형식으로 저장합니다return_inverse: true이면, 오래된 목록 요소가 새 목록에서 위치하는 위치(인덱스)를 목록 형식으로 저장합니다return_counts: true이면, 원본 배열에서 중복 제거 배열의 요소가 등장하는 횟수를 반환합니다
import numpy as np a = np.array([5,2,6,2,7,5,6,8,2,9] print('첫 번째 배열은 다음과 같습니다:') print(a) print('\n') print('첫 번째 배열의 중복 값은 다음과 같습니다:') u = np.unique(a) print(u) print('\n') print('중복 배열의 인덱스 배열은 다음과 같습니다:') u,indices = np.unique(a,return_index=True) print(indices) print('\n') print('원 배열의 인덱스와 일치하는 각 값을 확인할 수 있습니다:') print(a) print('\n') print('중복 배열의 인덱스는 다음과 같습니다:') u,indices = np.unique(a,return_inverse=True) print(u) print('\n') print('인덱스는 다음과 같습니다:') print(indices) print('\n') print('인덱스를 사용하여 원 배열을 재구성하십시오:') print(u[indices]) print('\n') print('중복 요소의 중복 횟수를 반환하십시오:') u,indices = np.unique(a,return_counts=True) print(u) print(indices)
출력 결과는 다음과 같습니다:
첫 번째 배열은 다음과 같습니다: [5 2 6 2 7 5 6 8 2 9] 첫 번째 배열의 중복 값은 다음과 같습니다: [2 5 6 7 8 9] 중복 배열의 인덱스 배열은 다음과 같습니다: [1 0 2 4 7 9] 원 배열의 인덱스와 일치하는 각 값을 확인할 수 있습니다: [5 2 6 2 7 5 6 8 2 9] 중복 배열의 인덱스는 다음과 같습니다: [2 5 6 7 8 9] 인덱스는 다음과 같습니다: [1 0 2 0 3 1 2 4 0 5] 원 배열을 인덱스로 재구성하십시오: [5 2 6 2 7 5 6 8 2 9] 중복 요소의 중복 횟수를 반환하십시오: [2 5 6 7 8 9] [3 2 2 1 1 1]