Uploaded by Huongle Do

13-1. Data frame (2nd)

advertisement
13-1. Data Frame (2nd)
Contents
◼ 파일
읽기 (csv, xlsx)
◼ Data
loading
◼ Data
조회
➢
상위, 하위 데이터만 샘플 조회
➢
특정 영역의 데이터만 조회
➢
특정 조건에 따른 데이터 필터링
Data loading
read_csv(): csv 파일 읽기
read_excel(): 엑셀 파일(xls or xlsx 형식) 읽기
# 실습 파일 (Hotel_list.csv)
>>> import pandas as pd
>>> df = pd.read_csv("C:/Users/user0317/OneDrive/0. Python practice/Hotel_list.csv")
>>> df
# 최신 excel 파일을 읽기 위해선 openpyxl 엔진을 설치해야 함
# 명령창에서 pip install openpyxl
>>> df_from_excel = pd.read_excel(“C:/Users/user0317/OneDrive/0. Python practice/Hotel_list_e.xslx”)
(1) 상위, 하위 데이터만 조회 (head(), tail())
df.head()
df.tail()
df.head()
df.head(20)
df.tail()
df.tail(20)
(2) 특정 영역의 데이터 조회, 선택
1)
2)
3)
4)
df[col_name] or df.col_name: 열(column) 선택
df[row index 구간]: 행 (row) 선택
df.loc[row_index_name, col_name]
df.iloc[row_index_no, col_index_no]
Q1. df[‘hotel_name’] → ?
Q2. df[1:3] → ?
Q3. df.loc[[1, 3], [‘hotel_name’, ‘n_star’]] → ?
Q4. df.iloc[1:3, 1:3] → ?
(3) Filtering – 특정 조건을 기준으로 추출
df[df[col_name] (>, <, ==, …) value]
df[df.n_comment > 3000]
& → and
| → or
df[(df.n_comment > 3000) & (df.n_comment < 5000)]
# 다른 옵션
df.query('n_comment > 3000 & n_comment < 5000')
(3) Filtering – 특정 조건을 기준으로 추출
Pandas에서 제공하는 string 함수 이용 사례
& → and
| → or
df[df.hotel_name.str.contains("Hotel")]
df[df.hotel_name.str.contains("Hotel|New York”)]
df[['Hotel' in x for x in df.hotel_name]]
(3) Filtering – 특정 조건을 기준으로 추출
Pandas에서 제공하는 string 함수 이용 사례
df[df.hotel_name.str.contains("Hotel") == False]
df[df.hotel_name.str.len()>3]
Download