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]