본문 바로가기
Data_Analysis/Numpy, Pandas

[Numpy] 배열 인덱싱, 슬라이싱

by Classic! 2020. 7. 12.

[배열 인덱싱]

- 인덱싱은 배열의 값을 scala로 추출

- 2차원 배열에서 인덱싱은 [ ]안에 1개 인자를 삽입

np.random.seed(100)
narray1=np.random.randint(0,20,16).reshape(4,4)
print(narray1)
'''
[[ 8  3  7 15]
 [16 10  2  2]
 [ 2 14  2 17]
 [16 15  4 11]]
'''
print(narray1[1][2])	#2

 

 

[배열 슬라이싱]

- 슬라이싱은 scala값과 벡터값 추출

- 슬라이싱 인덱스는 [ , ] 콤마를 기준으로 2개의 인자 삽입

# narra1 배열에서 두번째 행 가져오기 
print(narray1[1,])
print(narray1[1,:])
print(narray1[1])
print(narray1[1][:])
print(narray1[1:2][:])# 2차원으로 출력

 

[조건 슬라이싱]

- 요소를 가져올 조건을 배열 [ ]안에 삽입

# 배열 생성
np.random.seed(0)
narray3=np.random.randn(4,4)
print(narray3)
'''
[[ 1.76405235  0.40015721  0.97873798  2.2408932 ]
 [ 1.86755799 -0.97727788  0.95008842 -0.15135721]
 [-0.10321885  0.4105985   0.14404357  1.45427351]
 [ 0.76103773  0.12167502  0.44386323  0.33367433]]
'''

 

- 배열에서 조건에 맞는 요소는 True, 맞지 않는 요소는 False로 표시 됨

print(narray3<1)
'''
[[False  True  True False]
 [False  True  True  True]
 [ True  True  True False]
 [ True  True  True  True]]
'''

 

- 조건을 다시 배열 [ ]안에 넣으면, 조건에 맞는 요소만 표시.

print(narray3[narray3<1])
'''
[0.40015721 0.97873798 0.         0.95008842 0.         0.
 0.4105985  0.14404357 0.76103773 0.12167502 0.44386323 0.33367433]
'''

 

- 조건에 맞지 않는 요소는 다른 수로 채우기

narray3[narray3>=1]=999		# 1보다 큰 수는 999로 바꾸기
print(narray3)
'''
[[ 9.99000000e+02  4.00157208e-01  9.78737984e-01  9.99000000e+02]
 [ 9.99000000e+02 -9.77277880e-01  9.50088418e-01 -1.51357208e-01]
 [-1.03218852e-01  4.10598502e-01  1.44043571e-01  9.99000000e+02]
 [ 7.61037725e-01  1.21675016e-01  4.43863233e-01  3.33674327e-01]]
'''

 

'Data_Analysis > Numpy, Pandas' 카테고리의 다른 글

[Pandas] DataFrame 생성  (0) 2020.07.21
[Pandas] Series  (0) 2020.07.13
[Numpy] 함수  (0) 2020.07.13
[Numpy] 배열 생성  (0) 2020.07.10
[프로그램 설치] 아나콘다 & 주피터노트북  (0) 2020.07.06

댓글