본문 바로가기
빅데이터 부트캠프/Python

빅데이터 부트캠프 13일차

by Mecodata 2022. 7. 20.

pandas

- numpy를 내부적으로 활용
- 많은 양의 데이터를 로드해서 분석하는데 최적화
- 데이터분석에 특화된 데이터 구조를 제공
- 다른 시스템에 쉽게 연결

- import pandas as pd를 통해 pd로 사용함

- 리스트 데이터를 이용하여 1차원 구조인 Series로 출력

- 딕셔너리 데이터를 이용하여 2차원 구조인 DataFrame으로 출력(Series가 모여 DataFrame 형성)

DataFrame

- 엑셀과 같이 인덱스(index), 변수(column), 값(value)로 이루어진 pandas의 특수한 자료형.

- 백터가 기본 백터

- DataFrame에서 .copy()는 기본적으로 deepcopy

 

- 인덱싱을 이용하여 데이터 수정 가능

ex) data['Name'][0] = '신짱구'

- 인덱스 번호를 0이 아닌 1부터 사용하고 싶으면 df.index += 1

- 조건 설정 후 원하는 데이터 출력 가능 (불린 인덱싱)

ex) df[df['Score']=>80] = 점수 80점 이상 데이터 출력 

 

- 데이터 변경 ()안에 inplace=True를 입력해줘야 원본에 반영

- 딕셔너리 데이터에서 필요한 키값만 선택한뒤 columns에 적용함을 통해 원하는 데이터로만 DataFrame 출력 가능 

ex) data = {'Age': [25, 28, 22], 'Name': ['S1', 'S2', 'S3'], 'Score': [95, 85, 75]}

      df1 = pd.DataFrame(data, columns=['Name', 'Score'])

 

- DataFrame 출력시 columns에 해당 딕셔너리에 없는 새로운 키 값을 추가할 수 있음 (다만, value값들은 모두 NaN) 

ex) df1 = pd.DataFrame(data, columns=['Name', 'Score', 'Tel'])

- A['Name'] = B['Name'] 와 같이 다른 DataFrame에 있는 key-value 값을 가져와 추가할 수 있음

- DataFrame 특정 라벨 삭제 : drop([ ], axis= 0)

- DataFrame 특정 라벨 삭제 : drop([ ], axis= 1)

 

iloc와 loc

- loc = 문자열 데이터 이용하여 원하는 row에서 원하는 column 선택하는 DataFrame 출력 방식

ex) df.loc['1번'] = index '1번'에 해당하는 전체 데이터 출력

      df.loc['1번', '국어'] = index '1번'의 '국어'에 해당하는 전체 데이터 출력

- iloc = 인덱스 번호 이용하여 원하는 row에서 원하는 column 선택하는 DataFrame 출력 방식

ex) df.iloc[1, 2] = 1행 2열의 데이터, df.iloc[[0, 1], 2] = 0행과 1행의 2열 데이터      

      df.iloc[[0, 1], [2, 3]] = 0행과 1행의 2,3열 데이터, df.iloc[0:2, 2:5] = 0~1행의 2~4열 데이터

- loc, iloc 모두 슬라이싱으로 조건 적용후 출력 가능

- loc로는 df.loc[조건, 입력할 데이터의 column]으로 데이터 추가 가능

ex) df.loc[df['Score']>=80, 'Result'] = 'Pass'

댓글