Pandas 데이터 공부

[04. 판다스입문] 데이터 추출하기

투자 Lv.1 2020. 2. 26. 21:56

이전 시간에 데이터 집합 불러왔습니다.

오늘은 불러온 데이터를 다양한 방법으로 추출해 보도록 하겠습니다. 

 


2020/02/19 - [IT/pandas] - [03. 판다스입문] 데이터 집합 불러오기

 

[03. 판다스입문] 데이터 집합 불러오기

이전 시간에 파이썬 패키지 관리자를 사용해 봤습니다. 오늘은 실제 데이터를 불러오며 타입 등 속성 및 메서드를 사용해 보도록 하겠습니다. 2020/02/17 - [IT/python] - [02. 판다스입문] 파이썬 패키지 관리자..

hodada.tistory.com



열 단위로 데이터 추출

 

 

 # 데이터 프레임(df) 에서 열 이름이 country인 열을 추출해서 country_df에 저장합니다

country_df = df['country']

 

# type method : 데이터 자료형 확인

print(type(country_df))

 

# head method : 가장 앞에 있는 5개 데이터 출력

# tail method : 가장 뒤에 있는 5개 데이터 출력

print(country_df.head())
print(country_df.tail())

 

# 리스트에 열 이름을 전달하면 여러 개의 열을 한 번에 추출 가능

# 2개 이상의 열 추출했기에 데이터 프레임

subset = df[['country', 'continent', 'year']]
print(type(subset)) 
print(subset.head())

 

 

 

 

 

 

 

 

 

 


행 단위 데이터 추출하기

 

 

 

데이터 행 단위 추출은 두 속성으로 합니다.

1. loc : 인덱스 기준으로 행 데이터 추출

2. iloc : 행 번호 기준으로 행 데이터 추출

 

* 인덱스

아래 head method 실행한 결과에서 왼쪽 번호가 인덱스 입니다. 

인덱스는 숫자 또는 문자열로 지정 가능합니다.

 

* 행

반면 행 번호는 데이터 순서를 따라가기 때문에 정수만으로 데이터를 조회하거나 추출할 수 있습니다. 

데이터 프레임에선 확인 불가 합니다.

 

 

 

 

 


loc 속성으로 행 데이터 추출하기

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# loc 속성에 대괄호를 이용하여 인덱스를 전달하여 추출

print(df.loc[0])
print(df.loc[99])

 

#인덱스에 없는 값을 사용하면 오류가 발생한다 ( ex. -1)

print(df.loc[-1])

 

 

 

 

 

# 데이터 프레임의 마지막 행 추출 방법

# 1.

# shape[0] 에 행 크기가 저장되어 있다 (1704)

# shape[0] 에서 1 뺀 값으로 마지막 행 추출

number_of_rows = df.shape[0]
last_row_index = number_of_rows-1
print(df.loc[last_row_index])

 

#2. 

# tail method 의 인자 n 에 1 전달

# 2를 전달하면 2개 데이터 추출 가능

print(df.tail(n=2))

 

# 여러 데이터 추출 방법

# 리스트에 원하는 인덱스를 담아서 전달

print(df.loc[[0, 99, 999]]) 

 

 

 

 

 

# loc 속성 : 반환한 데이터 자료형은 시리즈

# tail 메서드 : 반환한 데이터 자료형은 데이터 프레임

 

 

 

 

 

 

 

 

 

 


iloc 속성으로 행 데이터 추출하기

 

 

# iloc 속성은 데이터 순서를 의미하는 행번호를 사용하여 추출
print(df.iloc[0])
print(df.iloc[99])

 

# -1 은 마지막 행 데이터 추출, 아예 존재하지 않는 행번호 전달하면 오류 발생

print(df.iloc[-1])

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# 데이터의 행번호를 리스트에 담아 전달하면 여러 데이터 한번에 추출 가능

print(df.iloc[[0, 99, 999]])

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

다음 시간은 추출 범위인 행과 열을 지정하여 loc, iloc을 자유롭게 사용해 추출 하도록 하겠습니다.

 


2020/02/27 - [IT/pandas] - [05. 판다스입문] 데이터 추출하기 - 다양한 방법

 

[05. 판다스입문] 데이터 추출하기 - 다양한 방법

이전 시간에 간단하게 데이터 추출을 해 봤습니다. 오늘은 다양한 방법으로 추출 해 보도록 하겠습니다. 2020/02/26 - [IT/pandas] - [04. 판다스입문] 데이터 추출하기 [04. 판다스입문] 데이터 추출하기 이전 시..

hodada.tistory.com