-
[python] 파이썬을 이용한 빅 데이터 실습 5- DataFrameLanguages/python 2021. 10. 30. 18:50반응형
데이터 프레임 조회하기
테스트 데이터 프레임 생성
df4 = DataFrame({'Class': ['IoT','Network', 'Economy','Big Data', 'Cloud'], 'Year': [2018, 2017, 2018, 2018, 2019], 'Price': [100, 125, 132, 312, 250], 'Location': ['Korea','Korea', 'Korea', 'US','Korea']}, index=['C01','C02','C03', 'C04', 'C05']) df4
실행결과
원하는 열(컬럼)만 조회하기
-Class만 조회하기
색인 기호 대괄호([])안에 색인하고자 하는 컬럼 인덱스의 이름을 지정해준다
df4['Class']
실행결과
C01 IoT C02 Network C03 Economy C04 Big Data C05 Cloud Name: Class, dtype: object
두개의 컬럼 조회하기
-Class와 Price 조회하기
색인기호([])안에 색인하고자 하는 컬럼 인덱스들을 각각 지정한다
df4[['Class','Price']] // 그냥 쓰면 에러 리스트로 담아서 전달
실행결과
Class Price C01 IoT 100 C02 Network 125 C03 Economy 132 C04 Big Data312 C05 Cloud 250
원하는 행[로우]만 조회하기
데이터프레임 색인 방법
기본적으로는 컬럼 인덱스를 우선적으로 색인
로우 인덱스로 색인을 하고 싶은 경우에는
loc 또는 iloc 속성을 사용해야 한다
#df4.iloc[3] // 숫자 인덱스는 .iloc 사용 df4.loc['C04'] //둘이 동일
Quiz) 컬럼인덱스와 로우 인덱스를 변환하기 위해서 axis를 사용할 수 있을까?
answer) x (error)
인덱스 슬라이싱
범위 값을 주고, 그 범위에 해당하는 데이터를 색인하는 방법
숫자, 문자 인덱스 모두 슬라이싱 가능
스타트 인덱스부터 엔드 인덱스까지의 범위 값에 해당하는 데이터 리턴
숫자 인덱스 사용 시 엔드 인덱스 포함이 안된다
C02 ~ C04 까지의 강의 조회
색인의 조건이 인덱스 슬라이싱인 경우 loc,iloc는 생략 가능하다
df4.loc['C02':'C04'] df4.loc[['C02','C03','C04']] df4.iloc[1:4] // 셋 다 동일
실행결과
Class Year Price Location C02 Network 2017 125 Korea C03 Economy 2018 132 Korea C04 Big Data 2018 312 US
원하는 행과 열을 선택하여 조회하기
C02, C03 강의의 Class와 Year 만 조회
#df4[['Class','Year']].loc[['C02','C03']] #df4[['Class','Year']]['C02':'C03'] #df4.loc[['C02','C03'],['Class','Year']] df4.loc['C02':'C03','Class':'Year'] //전부 동일
['C02','C03'] -> 로우 인덱스
['Class','Year'] -> 컬럼 인덱스
실행결과
Class Year C02 Network 2017 C03 Economy 2018
순서가 없는 컬럼 인덱스
df4.loc[:,'Class':'Price']
Class Year Price C01 IoT 2018 100 C02 Network 2017 125 C03 Economy 2018 132 C04 Big Data 2018 312 C05 Cloud 2019 250
조건 색인을 통해 특정 조건에 부합하는 데이터 선택하기
- 조건색인이란
들어있는 값들에 조건을 걸고, 그 조건을 충족하는 데이터만 가져오는 방식
Price가 200 이상인 강의 선택
-> df4 >= 200 => error
인덱스 설정을 안했기 때문
df4['Price'] >= 200
실행결과
C01 False C02 False C03 False C04 True C05 True Name: Price, dtype: bool
실습하기 -> 실행 결과는 pass
# 실습 1. 'Year' 컬럼만 선택 df4['Year'] # 실습 2. 'Class'와 'Location' 컬럼만 선택 df4[['Class','Location']] # 실습 3. C01과 C03 강의의 모든 컬럼 선택 df4.loc[['C01','C03']] # 실습 4. C01~C03 강의의 Class와 Price만 선택 df4.loc[['C01','C02','C03'],['Class','Price']] # 실습 4. 2019년도 강의만 조회 df4[df4.Year == 2019] # 실습 5. 가장 가격이 비싼 강의 정보만 조회 df4.Price == df4.Price.max() # 실습 6. 2018, 2019년도에 개설된 강의 조회 #df4[df4.Year >= 2018] df4.Year.isin([2018,2019]) # 실습 7. 2018년도에 한국에서 개설된 강의 조회 (df4.Year == 2018) & (df4.Location == 'Korea')
반응형'Languages > python' 카테고리의 다른 글
[python] 파이썬을 이용한 빅 데이터 실습 7 - DataFrame , 계층색인 (0) 2021.11.01 [python] 파이썬을 이용한 빅 데이터 실습 6- DataFrame (0) 2021.10.30 [python] 파이썬을 이용한 빅 데이터 실습 4- DataFrame (0) 2021.10.30 [python] 파이썬을 이용한 빅데이터 실습 3 - DataFrame (0) 2021.09.12 [python] 파이썬을 이용한 빅데이터 실습 2 조건 색인 (0) 2021.09.12