파이썬(Python)

파이썬(python) 데이터분석 라이브러리[1] : numpy array 인덱싱 알아보기

알통몬_ 2018. 1. 18. 15:19
반응형


공감 및 댓글은 포스팅 하는데

 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 

도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 

만들어 나가겠습니다^^

 


지난 포스팅에서는 numpy array에 대해서 알아보았습니다.

2018/01/18 - [파이썬(Python)] - 파이썬(python) 데이터분석 라이브러리[1] : numpy 알아보기


이번 포스팅에서는 numpy array 인덱싱에 대해 알아보겠습니다.

numpy array 인덱싱은 리스트의 인덱싱과 굉장히 유사합니다.


1차원 array 인덱싱

지난 포스팅에서 공부한 arange() 함수를 통해 

0부터 6까지 간격이 1인 array를 생성했습니다.

arr[4] : 인덱스가 4인 성분 값을 가져옵니다.

arr[2:5] : 인덱스가 2, 3, 4 인 성분 값들을 array로 가져옵니다.

arr[:] : arr 과 같은 결과입니다.

arr[2:4] = 10 : 인덱스가 2, 3인 성분의 값을 10으로 변경합니다.


2차원 array 인덱싱

2차원 array는 [] 안에 ,(콤마)를 기준으로 2개의 값이 들어가는데요.

첫 번째는 행에 대한 값, 두 번째는 열에 대한 값입니다.

arr2d[1, :] : 1행의 모든 열을 가져옵니다.

arr2d[0:2, :] : 0행, 1행의 모든 열을 2차원 array로 가져옵니다.

arr2d[:, 3] : 모든 행의 인덱스가 3인 열의 값을 array로 가져옵니다.

arr2d[:, :2] : 모든 행의 인덱스가 0, 1인 열의 값을 2차원 array로 가져옵니다.

arr2d[3, 1] : 3행의 1열 값을 가져옵니다.

arr2d[:1, 0:2] = 0 : 0행 0열, 1열 성분 값을 0으로 변경합니다.


불리언(Boolean) 인덱싱

* np.random.randn(a, b) : a행, b열 짜리의 랜덤한 값을 가지는 2차원 array를 생성.

아래 두 개의 배열을 생성했습니다.

aps == "A" : aps array에서 A 값을 가질 경우 True, 다른 경우 False값을 가지는

array를 반환합니다.

datas[aps == "A", :] : aps 배열을 검사해서 성분이 "A" 이면 그 행은 True를 반환합니다.

그 인덱스에 대응하는 datas의 행을 선택하는 겁니다

그래서 결과를 보면 0, 4, 5 행의 값들을 가져온 것을 볼 수 있습니다.

In[27] 처럼 |(shift + \) 를 사용해서 여러 조건을 줄 수도 있습니다.

위 28, 30, 32 의 입력과 출력들은 실행해보시면서 이해해보시면 될 것 같습니다~

이해가 안되는 부분이 있으시다면 댓글 달아주시면 제가 아는 선에서 알려드리겠습니다!

이상입니다.

감사합니다!


반응형