코드
print("a2배열: \n", a2)
b2 = np.insert(a2, 1, 10, axis = 0)
print("\naxis = 0 -> 행 삽입\n", b2)
c2 = np.insert(a2, 1, 10, axis = 1)
print("\naxis = 1 -> 열 삽입\n", c2)
d2 = np.insert(a2, (0, 1, 2), 10, axis = 0)
# 맨 첫번째 인덱스를 기준으로 0-> 바로 앞, 1-> 1칸뒤 2-> 2칸뒤
print("\nobject에 시퀀스로 들어갔을 때\n", d2)
e2 = np.insert(a2, [0, 1, 2], 10, axis = 0)
# 맨 첫번째 인덱스를 기준으로 0-> 바로 앞, 1-> 1칸뒤 2-> 2칸뒤
print("\nobject에 시퀀스로 들어갔을 때\n", e2)
결과
a2배열:
[[1 2 3]
[4 2 6]
[7 8 9]]
axis = 0 -> 행 삽입
[[ 1 2 3]
[10 10 10]
[ 4 2 6]
[ 7 8 9]]
axis = 1 -> 열 삽입
[[ 1 10 2 3]
[ 4 10 2 6]
[ 7 10 8 9]]
object에 시퀀스로 들어갔을 때
[[10 10 10]
[ 1 2 3]
[10 10 10]
[ 4 2 6]
[10 10 10]
[ 7 8 9]]
object에 시퀀스로 들어갔을 때
[[10 10 10]
[ 1 2 3]
[10 10 10]
[ 4 2 6]
[10 10 10]
[ 7 8 9]]
코드
print("a1배열: ", a1)
a1[0] = 2
a1[1] = 3
a1[2] = 4
print("인덱싱으로 접근해 값 수정 후 a1배열: ", a1)
a1[:1] = 9
print("슬라이싱으로 접근해 값 수정 후 a1배열: ", a1)
i = np.array([1, 3, 4])
a1[i] = 0
print("fancy 인덱싱으로 접근해 값 수정 후 a1배열: ", a1)
a1[i] += 4
print("fancy 인덱싱으로 접근해 값 수정 후 a1배열: ", a1)
print("-"*50)
print("a2배열 \n", a2)
a2[0, 0] = 1
a2[1, 1] = 2
a2[2, 2] = 3
a2[0] = 1
print("\n인덱싱으로 접근해 값 수정 후 a2배열\n", a2)
a2[1:, 2] = 9
print("\n슬라이싱으로 접근해 값 수정 후 a2배열\n", a2)
row = np.array([0, 1])
col = np.array([1, 2])
a2[row, col] = 0
print("\nfancy 인덱싱으로 접근해 값 수정 후 a2배열\n", a2)
설명
a1배열: [1 2 3 4 5]
인덱싱으로 접근해 값 수정 후 a1배열: [2 3 4 4 5]
슬라이싱으로 접근해 값 수정 후 a1배열: [9 3 4 4 5]
fancy 인덱싱으로 접근해 값 수정 후 a1배열: [9 0 4 0 0]
fancy 인덱싱으로 접근해 값 수정 후 a1배열: [9 4 4 4 4]
--------------------------------------------------
a2배열
[[1 0 1]
[4 2 0]
[7 8 9]]
인덱싱으로 접근해 값 수정 후 a2배열
[[1 1 1]
[4 2 0]
[7 8 3]]
슬라이싱으로 접근해 값 수정 후 a2배열
[[1 1 1]
[4 2 9]
[7 8 9]]
fancy 인덱싱으로 접근해 값 수정 후 a2배열
[[1 0 1]
[4 2 0]
[7 8 9]]
코드
print("a1배열 ", a1)
b1 = np.delete(a1, 3)
print("3번 인덱스 제거한 배열 ", b1)
print("원래 배열은 그대로 ", a1)
print("-"*50)
print("\na2배열 \n", a2)
b2 = np.delete(a2, 1, axis=0)
print("\n1번 인덱스 행 삭제\n", b2)
c2 = np.delete(a2, 1, axis=1)
print("\n1번 인덱스 열 삭제\n", c2)
설명
a1배열 [1 2 3 4 5]
3번 인덱스 제거한 배열 [1 2 3 5]
원래 배열은 그대로 [1 2 3 4 5]
--------------------------------------------------
a2배열
[[1 0 1]
[4 2 0]
[7 8 9]]
1번 인덱스 행 삭제
[[1 0 1]
[7 8 9]]
1번 인덱스 열 삭제
[[1 1]
[4 0]
[7 9]]
코드
print("a2배열\n", a2)
print("\na2배열 슬라이싱\n", a2[:2, :2])
a2_sub = a2[:2, :2]
print("\na2배열 슬라이싱해서 변수에 대입\n", a2_sub)
a2_sub[:, 1] = 2
print("\n슬라이싱한 배열 값 변경\n", a2_sub)
print("\na2_sub을 바꿨는데 a2도 같이 바뀜\n", a2)
결과
a2배열
[[1 2 3]
[4 2 6]
[7 8 9]]
a2배열 슬라이싱
[[1 2]
[4 2]]
a2배열 슬라이싱해서 변수에 대입
[[1 2]
[4 2]]
슬라이싱한 배열 값 변경
[[1 2]
[4 2]]
a2_sub을 바꿨는데 a2도 같이 바뀜
[[1 2 3]
[4 2 6]
[7 8 9]]
코드
print("a2배열\n", a2)
a2_sub_copy = a2[:2, :2].copy()
print("\na2배열 복사본\n", a2_sub_copy)
a2_sub_copy[:, 1] = 1
print("\n복사한 변수를 값 변경\n", a2_sub_copy)
print("\na2_sub을 바꿨는데 a2는 바뀌지 않음\n ", a2)
결과
a2배열
[[1 2 3]
[4 2 6]
[7 8 9]]
a2배열 복사본
[[1 2]
[4 2]]
복사한 변수를 값 변경
[[1 1]
[4 1]]
a2_sub을 바꿨는데 a2는 바뀌지 않음
[[1 2 3]
[4 2 6]
[7 8 9]]
출처 : 이수안 컴퓨터 연구소
NUMPY 기초 문법 정리6_배열 입출력 (0) | 2024.01.21 |
---|---|
NUMPY 기초 문법 정리5_배열 연산 (0) | 2024.01.19 |
NUMPY 기초 문법 정리4_배열 변환 (0) | 2024.01.19 |
NUMPY 기초 문법 정리2_배열 조회 (0) | 2024.01.19 |
NUMPY 기초 문법 정리1_배열을 생성하는 법 (0) | 2024.01.19 |