Pandas 데이터 공부

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

투자 Lv.1 2020. 2. 27. 12:53

 

이전 시간에 간단하게 데이터 추출을 해 봤습니다. 

오늘은 다양한 방법으로 추출 해 보도록 하겠습니다.

 

 


2020/02/26 - [IT/pandas] - [04. 판다스입문] 데이터 추출하기

 

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

이전 시간에 데이터 집합 불러왔습니다. 오늘은 불러온 데이터를 다양한 방법으로 추출해 보도록 하겠습니다. 2020/02/19 - [IT/pandas] - [03. 판다스입문] 데이터 집합 불러오기 [03. 판다스입문] 데이터 집합..

hodada.tistory.com


 

 

 


1. 슬라이싱 구문으로 데이터 추출

 

 

 

# loc, iloc 속성에 전달하는 열지정값은 반드시 형식에 맞게 전달해야 한다. 

   loc 속성의 열 지정 값에 정수 전달하면 오류, iloc 속성의 열 지정 값에 문자열 리스트 전달하면 오류
# 모든 데이터는 "  :  " 으로 표시한다

 

# 모든 행의 데이터에 대해 year과 pop 열 데이터 추출

# loc은 문자형, 인덱스(숫자) 사용 가능

 

subset = df.loc[:,['year','pop']]
print(subset)


# 모든 행, 2,4,마지막 열 데이터 추출

# iloc 은 번호만 가능

 

subset = df.iloc[:,[2,4,-1]]
print(subset)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


2. range method로 데이터 추출하기

 

 

 

# range method :  파이썬 내장 메서드,  지정한 구간의 정수 리스트를 반환

 

# range(5) 반환한 제네레이터를 정수 값을 가진 리스트를 반환하여 iloc 의 열 지정값에 전달한 것

 

small_range =list(range(5)) # [0,1,2,3,4]
print(small_range)
print(type(small_range)) # list type

subset = df.iloc[:, small_range]
print(subset.head())


# 3~5 범위의 정수 리스트 출력
small_range = list(range(3,6)) # [3,4,5] 
print(small_range)

subset = df.iloc[:, small_range]
print(subset.head())

 

 

 

 

 

 

 

 

 

# range method 3개 인자 전달하기

# 0 ~ 5까지 2 만큼 건너뛰는 제너레이터 생성

# range method 사용


small_range = list(range(0,6,2))
subset = df.iloc[:, small_range]
print(subset.head())

 

 

# 슬라이싱 구문 사용


subset = df.iloc[:, 0:6:2]
print(subset.head())

 

 

 

# list(range(3) 과 [:3] 은 동일합니다

 

subset = df.iloc[:,:3] # list(range(3)) =  [:3]
print(subset.head())

 

 

 

 

# iloc, loc 속성 사용 해서 0, 99, 999번째 행의 0, 3, 5번쨰 열 데이터 추출
print(df.iloc[[0,99,999],[0,3,5]])

 

 

# 추후 어떤 열 데이터 추출 했는지 알기 위해서 열이름을 전달하여 추출 

print(df.loc[[0,99,99],['country' , 'lifeExp'  , 'gdpPercap']])

 

 

# 인덱스가 10 ~ 13인 행의 ['country' , 'lifeExp'  , 'gdpPercap'] 열 데이터 추출 
print(df.loc[10:13, ['country' , 'lifeExp'  , 'gdpPercap']]) #

 

 

 

 

 

# 스스로 궁금했던 점 실습한 내용입니다.

# 해당 정수범위로 전달하면 정수 몇 개가 출력 될까?
print(df.iloc[:, 0:6]) # 0~5까지 6개.. 

 

# 짝수 열만 출력해 볼까?
print(df.iloc[:, 0:6:2]) 

 

# 행 범위 지정하여 특정 열만 출력해 볼까?
print(df.loc[10:13:2,['country' , 'lifeExp'  , 'gdpPercap'] ])

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

다음 시간은 다양한 메서드를 사용하여 기초적인 통계 계산 해 보겠습니다.


2020/03/03 - [IT/pandas] - [06. 판다스입문] 기초적인 통계 계산하기

 

[06. 판다스입문] 기초적인 통계 계산하기

오늘은 추출한 데이터로 기초 통계 계산 해 보도록 하겠습니다. 2020/02/27 - [IT/pandas] - [05. 판다스입문] 데이터 추출하기 - 다양한 방법 [05. 판다스입문] 데이터 추출하기 - 다양한 방법 이전 시간에 간단..

hodada.tistory.com