본 글은 데이터 처리를 위해 자주 사용되는 파이썬의 판다스 라이브러리에 대해
공부한 기초적인 내용을 정리하는 글임을 밝힘.
목차
pandas
1. 판다스 연산
산술 연산
- 판다스 객체는 산술 연산을 지원
- 사칙연산은 물론 로그, 지수등의 연산도 가능
- 시리즈 vs 숫자, 시리즈 vs 시리즈 연산
- 시리즈가 제공하는 연산 메소드를 사용할 수 있음.
- 데이터프레임 vs 숫자, 데이터프레임 vs 데이터프레임 연산
1.1. 시리즈 연산
ⓐ. 시리즈 vs 숫자
- 시리즈 객체에 숫자로 연산을 하면 모든 원소에 동일하게 반영
ⓑ. 시리즈 vs 시리즈
- 시리즈와 시리즈의 연산은 같은 인덱스를 가진 원소끼리 이루어짐
1.1.1. 시리즈 연산 메소드
add() : 더하기
sub() : 빼기
mul() : 곱하기
div() : 나눗셈
인덱스에 해당하는 값이 없을때, fill_value를 사용하여 산술연산을 수행
두 시리즈 가운데 어느 한쪽의 인덱스가 없는 경우 결과값이 NaN
1.2. 데이터프레임 연산
ⓐ. 데이터프레임 vs 숫자
- 데이터프레임 객체에 숫자로 연산을 하면 데이터프레임 내 원소에 동일하게 반영
ⓑ. 데이터프레임 vs 데이터프레임
- 데이터프레임끼리의 연산은 같은 행과 열의 위치를 가진 원소끼리 이루어짐
두 데이터 프레임의 행과 열이 서로 같지 않는 경우에도 연산은 가능
- 같지 않는 경우 NaN
2. 데이터 프레임(Dataframe) 구조
데이터 프레임 구조
- 데이터를 처음 불러오면 데이터에 대해 전반적인 내용을 파악해야함
- 전체 데이터 내용 가운데 일부를 미리 확인
- head() tail()
- 데이터프레임 내 개별 열(column)의 데이터에 대한 정보를 파악
- 전체 데이터 개수
- 고유값의 개수
2.1. 데이터프레임 정보
ⓐ. 데이터정보 살펴보기
- 데이터 미리보기 head(), tail() 메소드 사용
ⓑ. 데이터프레임 정보
- shape(), info() 메소드로 데이터에 대한 기본 정보 확인
- shape() : 행과 열에 대한 정보
- info() : 데이터프레임 정보
ⓒ . 데이터 타입
- int, float, object, datetime 등의 다양한 타입 존재
- 판다스의 object 타입은 파이썬의 문자열과 같음
ⓓ. 데이터프레임 통계 정보 (수치형 데이터에 대한 통계를 뽑아줌.)
- describe() 메소드를 사용하며 문자열에 해당하는 object 타입 데이터는 제외.
- include= 'all' 옵션을 사용하면 모든 열의 정보를 보여줌.
2.2. 열(column) 데이터 정보
ⓐ. 각 열의 고유값 개수 확인하기
- nunique() 메소드는 각 열의 고유값 전체 개수를 세는데 사용
- value_counts()와 달리 고유값의 전 개수(int)를 반환
ⓑ. 데이터 개수 확인하기
- count() 메소드로 데이터프레임의 각 열의 데이터 개수를 확인
ⓒ. 각 열의 고유값 확인하기
- value_counts() 메소드는 각 열의 고유값의 개수를 세는데 사용
3. 데이터 통계 추출
데이터프레임 통계 함수
- 데이터에 대한 각종 통계 데이터를 추출할 수 있는 메소드가 데이터 프레임에 존재
- 전체 합
- 평균값, 표준편차
- 중간값
- 최대값
- 최소값
- 상관계수
- int, float 타입의 데이터에 주로 적용되지만 일부 메소드는 문자열에도 사용 가능
3.1. 기초 통계값 추출
ⓐ. 전체 합
- sum() 메소드
ⓑ. 평균값
- mean() 메소드
ⓒ. 표준 편차
- std() 메소드
ⓓ. 중간값
- median() 메소드
ⓔ. 최대값/최소값
- 최대값 : max() 메소드
- 최소값: min() 메소드
3.2. 상관계수
corr()
- 두 열을 한 쌍으로 하여 두 변수간의 상관계수(r)를 계산함
- 양의 상관관계 : r > 0
- 음의 상관관계 : r < 0
- 두 변수가 독립인 경우 : r = 0
4. 데이터 입출력
데이터 읽어오기
- 판다스는 다양한 형태의 외부 파일을 데이터 프레임으로 읽어올 수 있음
- 반대로 데이터 프레임을 다양한 유형의 파일로 저장할 수도 있음
- 지원 파일
- CSV
- JSON
- EXCEL
- HTML
- 기타(SQL, HDF5, …)
4.1. 데이터 입력
ⓐ. csv 파일 : read_csv()
import pandas as pd
file_path = './read_sample1.csv'
df1 = pd.read_csv(file_path)
print(df1)
print('\n')
df2 = pd.read_csv(file_path, header=None)
print(df2)
print('\n')
df3 = pd.read_csv(file_path, index_col='col1')
print(df3)
ⓑ. excel 파일 : read_excel(file_path, engine='openpyxl')
- pip install openpyxl → 라이브러리 설치 후 엑셀 파일 로드
import pandas as pd
file_path = './read_sample1.xlsx'
df1 = pd.read_excel(file_path, engine='openpyxl')
print(df1)
print('\n')
df2 = pd.read_excel(file_path, header=None, engine='openpyxl')
print(df2)
ⓒ. JSON 파일 read_json()
- key:value 구조를 갖는 특수한 파일 형식
4.2. 데이터 출력
ⓐ. csv 파일
- df.to_csv()
ⓑ. excel 파일 (xlsx)
- df.to_excel()
ⓒ. JSON 파일
- df.to_json()
마무리
개념은 크게 어렵지 않으나 여러번 사용해서 사용법을 몸에 익히는 게 필요하다고 판단됨!
'IT > Python' 카테고리의 다른 글
[데이터 시각화] Python-라이브러리 Seaborn 기초 내용 정리 (0) | 2023.03.31 |
---|---|
[데이터 시각화] Python-라이브러리 matplotlib 기초 내용 정리 (0) | 2023.03.31 |
[데이터 처리] Python pandas-기초 공부 내용 정리 (자료구조) (0) | 2023.03.31 |
[데이터 처리] Python-Numpy 라이브러리 기초 내용 정리 (0) | 2023.03.31 |
[Python] 기초 내용 정리 (파일입출력, 클래스, 모듈, 패키지 등) (0) | 2023.03.22 |
댓글