본문 바로가기

Programming/Python

파이썬 pandas loc 개념과 예제, 사용법, 데이터 인덱싱과 슬라이싱 방법

반응형

loc 개념 정리

인덱싱은 데이터 프레임에서 적용될 수 있다.

 

판다스에서는 특정 행(row)나 열

  • loc : location의 약자로 데이터프레임의 행 또는 칼럼의 label이나 boolean array로 인덱싱하는 방법.
    - 칼럼명을 직접 적거나 특정 조건식을 써주어 사람이 읽을 수 있게 데이터에 접근하는 방법

 


loc 사용방법

df.loc[행 인덱싱 값, 열 인덱싱 값]

 

예시

 

하나의 데이터프레임을 불러온 뒤, df로 선언한 상태다.

 

 

 

loc[0]에 하나의 값만 입력하면, 그에 해당하는 하나의 행만 뽑아온다. 위 경우에는 "df라는 전체 데이터 프레임에서 인덱스 이름이 0인 행만 출력해서 가져와"라는 의미이다.

 

 

이번에는 네모 박스 안에 있는 특정 값만 추출해보자.

df.loc[0, 경도]

 

 

이렇게 추출할 수 있다.

 


loc 를 사용한 슬라이싱

 

인덱싱이 가능하다면, 이번에는 범위를 지정해서 데이터프레임의 부분을 가져오는 것도 가능하다.

 

df.loc[: , :]을 사용하면, 행과 열의 전체를 다 가져오라는 의미가 된다.

 

자기가 원하는 구간만 지정하고 싶다면 아래와 같이 하면 된다.

 

 

df.loc[: , '행정구역'] 이라고 하면, 행정구역 행의 모든 열을 가져와라는 명령어가 된다. 하지만 이 경우 더 쉽게는 

df['행정구역']으로도 동일한 값을 가져올 수 있기는 하다.

 


지정한 범위만 가져오기 연습

다음은 아래와 같이 지정한 범위를 가져와보도록 하자.

df.loc[:15,' 경도']로 가져올 수 있는 것을 확인할 수 있다. 여기서 알아두어야 할 것은 : 의 앞에 아무것도 쓰지 않으면 첫번째 값부터라는 의미이고, : 뒤에 아무것도 안쓰면 가장 끝까지라는 의미가 된다.

 

 


Boolean을 사용해 특정 값 추출하기

Boolean을 활용해서 특정조건을 충족하는 데이터만을 추출할 수도 있다. 예컨데 확진자가 50000명 이상인 데이터만을 불러와보도록 하자.

 

위와 같이 내가 추출하고자 하는 특정한 조건을 하나의 변수로 선언하고, 그 변수를 loc[] 에 넣어주면, 확진자가 50000명을 넘는 경우만 출력된 것을 확인할 수 있다.

 

 

해당 조건을 [] 안에 직접 적어주어도 동일한 결과가 출력된다.


복합 조건문 작성하기

 

이러한 조건을 복합적으로 이용해서 내가 원하는 데이터만을 추출할 수 있다.

 

예컨데, 한국에서 확진자가 1000명이 넘는 경우의 데이터만을 추출하고 싶다면 어떻게 하면 될까?

 

조건문마다 () 로 묶어주고, &(그리고) 혹은 | (이거나) 를 중간에 더해서 조건문을 만들 수 있다.

 

credit : https://bigdaheta.tistory.com/41

반응형