Chapter 2: DataFrame 필수 연산
In [3]:
import pandas as pd
import numpy as np
pd.options.display.max_columns = 40
DataFrame에서 복수의 열 선택
- 방법 1. DataFrame[[사용할 컬럼들]]
- 방법 2. 같은 방법인데 이중 인덱스 안에 길게 표기하는 게 싫을 때.. -> 아래에 따로 추가된 사항 방법이 이거임
- cols = [사용할 컬럼들]
- DataFrame[cols]
In [4]:
movie = pd.read_csv(r'C:\Users\user\jupyterpractice\EDA\Pandas-Cookbook-master\data\movie.csv')
movie_actor_director = movie[['actor_1_name', 'actor_2_name', 'actor_3_name', 'director_name']] # 이중 인덱스 안하면 에러뜬다 ! 주의!!
# 이중인덱스를 사용하거나 or cols = [선택할 컬럼들]로 지정한 후, movie[cols]로 뽑던가 (같은 거임)
movie_actor_director.head()
Out[4]:
In [5]:
movie[['director_name']].head()
Out[5]:
기존에 쓰던 방식) 사용할 column을 list로 미리 지정 후 indexing
In [8]:
cols =['actor_1_name', 'actor_2_name', 'actor_3_name', 'director_name']
movie_actor_director = movie[cols]
movie_actor_director.head(3)
Out[8]:
★★메서드를 사용한 열 선택
- select_dtypes & filter 두 가지 메서드 존재
- select_dtypes
- select_dtypes : 특정 데이터 타입의 열만 뽑아 낼 수 있음
- dataframe.select_dtypes(include=['data type])
- filter
- filter method : 사용된 매개변수에 따라 열 이름 or 인덱스 레이블을 검색
- 매개변수
- like : 문자열 검색
- regex : 정규식 검색
- items : 정확한 열 이름의 리스트를 입력으로 받아들임
- items는 columns 명칭으로 구성된 cols list로 dataframe[cols]하는 방식과 동일
- but, dataframe[cols]는 컬럼명 잘못 입력 -> Error
- filter method + items 매개변수 -> 컬럼명 잘못 입력해도 Error X. 잘 입력된 것만 extraction
- dataframe.filter(like='검색하려는 문자열') -> like 매개변수로 전달된 문자열을 포함한 column을 모두 추출
- select_dtypes
In [15]:
# data set loading & index를 movie_title로 해보기
movie = pd.read_csv(r'C:\Users\user\jupyterpractice\EDA\Pandas-Cookbook-master\data\movie.csv', index_col='movie_title')
movie.dtypes.value_counts()
Out[15]:
In [7]:
# select_dtypes mothod : 특정 데이터 타입의 열만 뽑아 낼 수 있음
# 정수 열만 선택하기
movie.select_dtypes(include=['int']).head()
Out[7]:
In [8]:
# 숫자로된 모든 열을 선택하려면 include 매개변수에 'number' 전달
movie.select_dtypes(include=['number']).head()
Out[8]:
- filter method : 사용된 매개변수에 따라 열 이름 or 인덱스 레이블을 검색
In [16]:
# like 매개변수에 입력한 키워드 -> 열 or index에 해당 키워드가 포함되면 추출
movie.filter(like='facebook').head()
Out[16]:
In [17]:
# filter method의 regex 매개변수 -> 정규식(regular expressions)을 사용해 열을 검색할 수 있음.
movie.filter(regex='\d').head() # '\d' : 이름에 숫자가 포함된 모든 열을 검색
Out[17]:
In [19]:
# items 매개변수로는 list type의 입력이 들어감 -> 정확한 열 이름이 들어감
# 장점 : dataframe[cols]는 잘못된 column명이 있으면 error -> but filter는 error없이 정확히 일치하는 column만 데려옴
movie.filter(items=['actor_1_name', 'asdf']).head()
Out[19]:
'Data Analysis > Exploratory Data Analysis' 카테고리의 다른 글
Pandas (5) Method Chaining (0) | 2021.09.29 |
---|---|
Pandas (4) Dataframe 연산 (0) | 2021.09.28 |
Pandas (3) Column 네이밍 (0) | 2021.09.27 |
Pandas (1) 데이터 정보 확인 (0) | 2021.09.23 |