안녕하세요!
오늘도 파이썬 dataframe에 대해서 정리해보겠습니다. 데이터 프레임에서 원하는 조건에 맞는 값을 불러오는 것에 대해서 설명드리려고 합니다.
(참고한 책은 파이썬 머신러닝 완벽 가이드입니다.)
먼저 데이터 프레임에서 원하는 열만 불러오는 방법에 대해서 설명드리겠습니다. 그리고 데이터 프레임에서 원하는 조건을 입력하여 원하는 데이터만 불러올 수 있도록 해보겠습니다.
먼저 불린 인덱싱을 하기에 앞서서 라이브러리에 필요한 패키지를 불러올게요!
import numpy as np
import seaborn as sns
import pandas as pd
numpy와 pandas는 거의 기본이고 저번과 마찬가지로 seaborn은 예제 데이터를 불러오기 위해서 사용하였습니다.
titanic = sns.load_dataset('titanic')
이번에 사용할 데이터는 titanic입니다.
타이타닉 호의 승선객 데이터로 많이 사용하는 데이터이기도 합니다.
#타이타닉의 정보를 보는 방법
titanic.info()
본격적으로 하기 전에 저번에 정리한 info를 이용하여 타이타닉 데이터를 간략히 알아보았습니다.
먼저 원하는 열만 불러오기 위한 방법에 대해서 알려드리겠습니다.
##타이타닉의 특정 열만 불러오기
titanic[['class','survived']]
2개 이상의 열을 불러오기 위해서는 대괄호 안에 리스트 형태로 열이름을 넣어야 합니다.
저는 titanic 안에 있는 class, survived 열을 불러오도록 해보겠습니다.
이렇게 원하는 데이터만 불러와졌습니다. 이 데이터를 따로 저장하여 편하게 사용할 수도 있습니다.
titanic[0,1,2]
만약에 대괄호 안에 열이름 대신에 숫자를 집어넣으면 어떻게 될까요?
이 경우에는 오류가 생깁니다. 원하는 열 이름을 정확히 넣어주어야 실행이 됩니다. 위치 기반으로 해서 인덱싱을 하고 싶다면 iloc 코드를 사용하면 될 것 같습니다.
아래 링크를 참고해주세요~!!
#슬라이싱을 할 경우 원하는 위치까지 행 값을 불러온다.(행기준)
titanic[0:4]
슬라이싱을 할 경우 불러올 수 있습니다. 단, 여기서 지정하는 숫자가 가리키는 것은 열이 아니고 행입니다.
0에서 4까지 슬라이싱을 해보았습니다.
4바로 앞인 행 이름 3까지 데이터가 불러와졌습니다.
이번에는 조건에 맞는 데이터만 불러와보겠습니다.
titanic[titanic['pclass']==2]
타이타닉에서 pclass가 2인 승객들만 불러오려고 합니다.
데이터 프레임 안에 바로 pclass가 2라고 적지 말고 titanic안에 있는 pclass가 2인 조건을 만족하는 행들을 불러오겠다고 작성하면 됩니다.
왼쪽에서 2번째 pclass를 보시면 알겠지만 다 2인 데이터들만 추출되었습니다.
titanic['pclass']를 표현하는 다른 방법도 있습니다.
titanic[titanic.pclass==2]
dataframe ['열 이름'] = dataframe. 열 이름과 같습니다.
그래서 위의 코드처럼 바로 해줘도 같은 결과값이 나옵니다.
바로 위의 결과랑 같은 것을 알 수 있습니다.
일단 여기서는 이 정도까지만 설명드리겠습니다. 사실 뒤에가 더 있긴 한데 그거는 2번째 편에서 더 설명드리겠습니다.
사실 개념이 약간 헷갈리긴 한데 2번째 꺼 정리하면 더욱 명확하게 될 것 같습니다.
읽으신 분들에게 도움이 되기를 바라며....
오늘 하루도 즐거운 하루 보내세요( •̀ ω •́ )✧
'코딩 > Python' 카테고리의 다른 글
파이썬 기초 - 파이썬을 이용한 간단한 계산하기 (사칙연산, 구구단) (0) | 2022.06.07 |
---|---|
파이썬 기초 - dataframe 조건에 맞는 값 불러오기(불린 인덱싱) - (2) (0) | 2022.01.05 |
파이썬 기초 - dataframe 인덱싱을 위한 코드 iloc, loc - (0) | 2022.01.04 |
파이썬 기초 - dictionary를 dataframe으로 바꾸기, dataframe을 list, dictionary로 바꾸기 (0) | 2022.01.03 |
파이썬 기초 - 데이터 전처리를 위한 DataFrame 데이터 살펴보기 - (with seaborn) (0) | 2021.12.31 |