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
'Programming > Python' 카테고리의 다른 글
파이썬 반환문 return 사용법 (0) | 2022.01.02 |
---|---|
JSON 파일이란? (JavaScript Object Notation) (0) | 2022.01.02 |
reset_index(drop=True) 예제 (0) | 2021.12.31 |
파이썬으로 csv 파일 불러오기 pandas (0) | 2021.12.30 |
Kaggle 에서 dataset 다운로드 받기 opendatasets library (0) | 2021.12.30 |