본문 바로가기
Python/Data Science

DataFrame indexing (1)

by hooni40 2021. 7. 24.
728x90
반응형

 안녕하세요, 지난 시간까지 Numpy, Pandas 등 Pyhton에서 Data Science를 하기 위한 Tool들을 정리하였습니다. 오늘은 DataFrame을 indexing 하는 방법에 대해 정리해보겠습니다. indexing(인덱싱)이란 데이터를 선택하는 것을 의미합니다.

 

 우선 아래와 같은 DataFrame이 있다고 가정을 하겠습니다. (DataFrame의 이름은 iphone_df라고 가정하겠습니다.

한 가지 복습을 하고 넘어가자면 지난 시간에 정리하였듯이 index_col을 이용해 iPhone의 이름이 index의 이름이 되도록 만들었습니다. 

 

 

 위의 DataFrame에서 iPhone 8의 메모리가 몇인지 불러오는 인덱싱을 해보겠습니다. loc이라는 함수를 이용하여 불러올 수가 있는데요, loc[index 이름, column 이름]을 이용하여 불러올 수 있습니다. iphone_df.loc['iPhone 8', '메모리']를 실행함으로써 DataFrame에서 iPhone 8 인덱스(row)의 메모리 Column의 값을 불러옵니다!

 

 그럼 하나의 값이 아닌 해당 Index 또는 Column의 모든 값을 불러오는 것은 어떻게 할까요? Python의 리스트에서 인덱싱 하듯 ":"을 사용해주면 됩니다! 또는 해당 Index만 적어주어도 됩니다. 이렇게 호출한 Index의 Type은 이전 시간에 잠깐 언급드렸던 Seriese입니다. 여기서 주의하실 점은 하나의 Column을 불러올 때는 이 방식이 안됩니다

 

 

 여기서 하나 주의할 점은 index의 이름이 숫자라면 위와 같이 ' '(따옴표)안에 적으면 안 된다는 점입니다! 

아래 예제와 같이 인덱스 이름이 디스플레이 크기라면 해당 인덱스를 부를 때 숫자만 적어야 하는 점 참고 부탁드립니다!

 

 

 다른 Index 또는 Column을 뽑는 방법은 loc을 사용하지 않고 바로 Index와 Column을 사용하는 것입니다. 

 

 

 그럼 만약 Column 여러개를 뽑으려면 어떻게 해야할까요? 하나의 요소가 아닌 리스트로 인덱싱을 해주면 됩니다!

아래 예시를 보시면 loc함수를 이용해서 추출할 수도 있고 loc 함수 없이 인덱싱도 가능합니다! 주의하실 점은 loc함수를 사용할 경우에는 index도 지정을 해주어야합니다.

 

 

728x90
반응형

'Python > Data Science' 카테고리의 다른 글

DataFrame indexing (3)  (0) 2021.07.27
DataFrame indexing (2)  (0) 2021.07.26
Python - Pandas (3)  (0) 2021.07.22
Python - Pandas (2)  (0) 2021.07.21
Python - Pandas (1)  (0) 2021.07.19

댓글