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
반응형
'데이터 사이언스 메뉴얼 > pandas' 카테고리의 다른 글
파이썬 Pandas NaN 데이터 처리하기 (0) | 2020.03.17 |
---|---|
파이썬 Pandas DataFrame column 추가 / 삭제하기 (0) | 2020.03.16 |
파이썬 Pandas DataFrame 생성하기 - 2 (0) | 2020.02.29 |
파이썬 Pandas DataFrame 생성하기 - 1 (0) | 2020.02.28 |
파이썬 Pandas DataFrame 구조 이해하기 (0) | 2020.02.27 |
최근댓글