numpProject 1차원배열_백터 삭제 _추가 및 삽입
2023. 6. 9. 16:38ㆍIT
반응형
1 차원 배열 삭제
1. nparray 삭제
문법:
arr = np.delete(arr, idx|fancy|slice, axis )
- 삭제된 새로운 배열을 반환
- axis=None 이면 flatten 적용됨.
- slice인 경우에는 np.s_[::2] 형식 사용한다.
2. 값으로 삭제
- np.where( (arr==5) | (arr==8)) 활용하여 일치하는 인덱스를 먼저 찾고 삭제한다.
1. idx|fancy|slice 삭제
print("1. idx로 삭제")
arr = np.array(\[9,8,7,5,4,3\])
new\_arr = np.delete(arr,0) # idx 자리 위치 번호로 삭제
new\_arr1 = np.delete(arr,1)
print(arr) # \[9 8 7 5 4 3\]
print(new\_arr) # \[8 7 5 4 3\]
print(new\_arr1) # \[8 7 5 4 3\]
print("2. fancy 삭제") # \[idx,idx1,idx2,idx2...\]
arr = np.array(\[9,8,7,5,4,3\])
new\_arr = np.delete(arr, \[0,3,5\] ) # fancy 인덱싱 ( 정수배열 인덱싱)
print(arr) # \[9 8 7 5 4 3\]
print(new\_arr) # \[8 7 4\]
print("3. slice 삭제, np.s\_\[::2\]")
arr = np.array(\[9,8,7,5,4,3\])
new\_arr = np.delete(arr, np.s\_\[0:4\] ) # slice 삭제
print(arr) # \[9 8 7 5 4 3\]
print(new\_arr) # \[4 3\]
2. 값으로 삭제하는 방법
arr = np.array(\[9,8,7,5,4,3\])
xx = np.delete(arr, np.where(arr == 5)) # 5 값 삭제,
print(arr) #\[9 8 7 5 4 3\]
print(xx) # \[9 8 7 4 3\]
print(np.where(arr == 5)) # (array(\[3\], dtype=int64),)
print(np.where((arr == 5)|(arr==8))) # (array(\[1, 3\], dtype=int64),)
arr = np.array(\[9,8,7,5,4,3\])
xx = np.delete(arr, np.where((arr==5)|(arr==8))) # 5 와 8 값 삭제,
print(arr) #\[9 8 7 5 4 3\]
print(xx) # \[9 7 4 3\]
1차원 배열 추가 및 삽입
1. nparray 추가
문법:
arr = np.append(arr, values, axis=None)
- 추가된 새로운 배열을 반환
- axis=None 이면 flatten 된후에 추가된다.
2. nparray 삽입
문법:
arr = np.insert(arr, idx|fancy|slice, value, axis ).
- fancy 사용시 value와 shape가 일치해야 된다.
1. nparray 추가
np.append(arr, value, axis )
arr = np.array(\[9,8,7,5,4,3\])
new\_arr = np.append(arr, \[1,2,3\])
print(arr) # \[9 8 7 5 4 3\]
print(new\_arr) # \[9 8 7 5 4 3 1 2 3\]
2. nparray 삽입
np.insert(arr, idx|fancy, value, axis )
가. idx 이용
arr = np.array(\[9,8,7,5,4,3\])
new\_arr = np.insert(arr, 0, \[1,2,3\])
print(arr) # \[9 8 7 5 4 3\]
print(new\_arr) # \[1 2 3 9 8 7 5 4 3\]
나. fancy 이용
arr = np.array(\[9,8,7,5,4,3\])
new\_arr = np.insert(arr, \[0,3,1\], \[1,2,3\]) # 0->1 , 3->2, 1->3 삽입됨. 따라서 갯수가 일치해야 된다.
print(arr) # \[9 8 7 5 4 3\]
\# 1 9 8 7 5 4 3 <- 0에 1 삽입후
\# 1 9 8 7 2 5 4 3 <- 0에 1 삽입후
\# 1 9 3 8 7 2 5 4 3 <- 1에 3 삽입후
print(new\_arr) # \[1 9 3 8 7 2 5 4 3\]
다. slice 이용 ==> 일대일 대응되는 형식으로 삽입됨.
arr = np.array(\[9,8,7,5,4,3\])
new\_arr = np.insert(arr, np.s\_\[0:2\], \[1,2\])
print(arr) # \[9 8 7 5 4 3\]
\# 1 9 8 7 5 4 3 <- 0에 1 삽입후
\# 1 9 2 8 7 5 4 3 <- 1에 2 삽입후
print(new\_arr) # \[1 9 2 8 7 5 4 3\]
반응형
'IT' 카테고리의 다른 글
numpyProject 타입변경 / 백터연산 (0) | 2023.06.12 |
---|---|
numpProject 2차원 배열 행렬 생성 (0) | 2023.06.09 |
SQL 문제_B & 마크다운 서식 (0) | 2023.06.09 |
SQL 문제 _ A (1) | 2023.06.09 |
SQL 문제 (1) | 2023.06.09 |