import pandas as pd
train_data = pd.read_csv('./train.csv')
train_data.head()
train_data.index = np.arange(100, 991) 

DataFrame에서 column 선택하기

DataFrame 형태의 데이터에서 [ ] 안에 특정 column의 이름을 넣으면, Series 형태로 값을 가져온다. Indexing 했기 때문에, 데이터의 형태는 DataFrame에서 Series로 한차원 낮아진다.

train_data [ 'Survived' ]        # 이름이 Survived인 column을 Series 형태로 출력

DataFrame 형태를 그대로 가져오고 싶으면 [ [ .... ] ] 형태로 사용하면 된다. 이때, 안쪽 대괄호 [ .... ] 형태는 '리스트' 형태를 지칭하며, 다수의 column을 선택할 수 있다.

train_data [ [ 'Survived', 'Sex', 'Age' ] ]        # 이름이 Survived, Sex, Age인 column을 Series 형태로 출력

 

 

DataFrame에서 row 선택하기

DataFrame을 Slicing할 때는 row index레벨로 지원한다. 이때, slicing 규칙은 일반 연산자와 동일하다.

train_data [ : 10]        # index가 0~9인 row를 출력

 

1. loc 함수

DataFrame의 index 속성에 저장된 index를 사용하여 row를 선택한다.

  • 단일 index 속성 (ex. 5 또는 'a')
  • 리스트로 이루어져 있는 멀티 index 속성 (ex. ['a', 'b', 'c'] )

  • 슬라이스 되어있는 멀티 index 속성, 이때 슬라이스의 시작과 끝은 포함된다. (ex. 'a' : 'f' )

  • A boolean array.

train_data.loc[100]        # row index가 100인 row를 선택해서 Series 형태로 보여준다.

train_data.loc [ [ 986, 100, 110, 990 ] ]       # DataFrame 형태로 보여준다.

 

2. iloc 함수

DataFrame index속성의 default 값(np.arange(n)) 을 사용하여 row를 선택한다.

train_data.iloc[0]        # 실제 index가 0인 row를 선택함 ( 출력된 Series는 index가 100이다. )

rain_data.iloc[ [ 0, 100, 132, 199 ] ]        # DataFrame 형태로 보여준다.

 

DataFrame에서 row, column 둘 다 선택하기

위의 loc함수와 iloc함수의 속성을 이용할 때, 콤마를 이용해서 둘 다 명시 가능하다.
이때, [ [ row ], [ column ] ] 순으로 명시한다.

train_data.loc [ [ 986, 100, 110, 990 ], [ 'Survived', 'Name', 'Sex', 'Age' ] ]

iloc는 row 뿐만 아니라 column도 0-based index (np.arange(n)) 로 인식한다.

train_data.iloc [ [ 0, 100, 132, 199 ], [ 1, 4, 5 ] ]

 

 

★Boolean Selection으로 row 선택하기
★조건에 맞는 row만 선택하기

# 30대 이면서 1등급인 row만 DataFrame형태로 반환하기
# Pclass가 1인 row만 True인 상태로 first_class에 저장됨
# Age가 30대인 row만 True로 반환

first_class = train_data [ 'Pclass' ] == 1
age_ = ( train_data [ 'Age' ] >= 30 ) & ( train_data [ 'Age' ] < 40 )
train_data [ first_class & age_ ]

 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기