colab python 판다스 데이터 선택하기

HJ Koo·2022년 2월 15일
0

개념

판다스에서 인덱싱 하는 방법은 여러 가지가 있다.

  • 레이블
  • 레이블 모음
  • 레이블 순서(번호)
  • 값이 특정 조건을 만족하는 경우

데이터 프레임에서는 행과 열 각각 인덱싱 할 수 있다.

.loc과 .iloc 모두 특정 행과 열을 인덱싱하는데 쓰인다.

  • .loc 축(axis)의 레이블(label)을 이용해 인덱싱한다.
  • .iloc 축(axis)의 순서를 이용해 인덱싱한다.

데이터 선택하기

시리즈(series)에서 테이터 선택

시리즈에서 인덱싱하는 여러 방법.
먼저 여러 개를 인덱싱하기 위해 리스트로 가져 온다.

import numpy as np

obj = pd.Series(np.arange(4.), index=['a', 'b', 'c', 'd'])
obj

  • 시리즈에서 여러 개의 레이블로 인덱싱.
obj[[1,3]] # obj[[1,2,3]] / obj[[1:3]]

  • 특정 조건에 해당하는 값을 인덱싱할 수 있다.
obj2[obj2 > 0]

  • 인덱싱한 부분을 특정 값으로 세팅(set)할 수도 있다.
obj[['b', 'a', 'd']] = 5


데이터프레임(DataFrame)에서 테이터 선택

데이터프레임(DataFrame)에서 인덱싱 방법 역시 시리즈(Series)와 비슷하다. 데이터프레임은 열(column)로 인덱싱하는 경우가 더 많기 때문에 문법은 열(column) 인덱싱이 더 쉽게 되어 있다.

data = pd.DataFrame(np.arange(16).reshape((4, 4)),
    index=['Ohio', 'Colorado', 'Utah', 'New York'],
    columns=['one', 'two', 'three', 'four'])
data[['three', 'one']]

하나의 데이터 플레임을 만들어 두고, 특정 조건을 만족하는 값만 인덱싱.

# data < 5 -> True False로 나온다.
data[data['three'] > 5] 

  • .loc 또는 .iloc을 쓰면 행(row)과 열(column)을 모두 인덱싱할 수 있다.
data.loc['Colorado', ['two', 'three']]

  • 순서로 인덱싱할 때는 .iloc을 사용한다.
data.iloc[2, [3, 0, 1]]

profile
날마다 꾸준히 성장하는 Software Engineer

0개의 댓글

관련 채용 정보