반응형
블로그 카테고리 용도:
🔎 매주 KT 에이블 스쿨에서 배운 내용을 복습하기 위해
[Python library]

1. Pandas
Pandas의 사용 목적은 DataFrame을 사용하기 위함이고 이를 통해
데이터의 처리,조회,분석을 효율적으로 할 수 있습니다.
Series -> 1차원 구조
DataFrame -> 2차원 구조
# 라이브러리 불러오기
import pandas as pd
[DataFrame]

위와 같은 데이터 프레임에서 인덱스란 행을 지정할 때 사용하는 정보이고
열 이름은 열을 지정할 때 사용하는 정보입니다.
위와 같은 2차원 데이터 프레임이나 1차원 시리즈 등은 직접 만들어서 사용할 수도있지만,
분석용 데이터 같은 경우 대부분 csv파일에서 데이터를 읽어옵니다.
[CSV파일 읽어오기]
pd.read_csv('파일의 경로')
read_csv를 통해 데이터를 읽어오면 위와 같은 2차원 형태의 데이터 프레임이 보여지게 됩니다.
[자주 사용되는 데이터 프레임 메서드]
- head(): 상위 데이터 확인
- tail(): 하위 데이터 확인
- shape: 데이터프레임 크기
- index: 인덱스 정보 확인
- values: 값 정보 확인
- columns: 열 정보 확인
- dtypes: 열 자료형 확인
- info(): 열에 대한 상세한 정보 확인
- describe(): 기초통계정보 확인
- unique(): 고윳값 확인
- value_counts(): 고윳값 개수 확인
- .sum(): 열 집계
- .max(): 열 최대값
- mean(): 열 평균값
- median(): 열 중앙값
[데이터 프레임 정렬]
- 특정 열을 기준으로 정렬하는 방법
# 단일 열 정렬
data.sort_values(by='열이름',ascending=False) #False=내림차순 True=오름차순
# 복합 열 정렬
data.sort_values(by=['JobSatisfaction','MonthlyIncome'],ascending=[True,False])
[데이터 조회]
데이터 프레임에서 특정 열을 조회를 하려면 loc함수를 이용해야합니다!
(data['열이름'] 처럼 사용해도 되지만 pandas는 loc함수를 권장한다고 하니..)
loc함수를 사용하면 열의 조건을 줘서 필요한 데이터만 추출할 수 있습니다.
예시)
# DistanceFromHome 열 값이 10 보다 큰 행 조회 (단일 조건 조회)
data.loc[data['DistanceFromHome'] > 10]
# and로 여러 조건 연결 (여러 조건 조회)
data.loc[(data['DistanceFromHome'] > 10) & (data['JobSatisfaction'] == 4)]
# or 조건 사용
data.loc[(data['DistanceFromHome'] > 10) | (data['JobSatisfaction'] == 4)]
[데이터 조회 함수]
- isin([값1,값2,,,값n]) : 값1 or 값2 or ,, 값n인 데이터만 조회
isin()함수를 사용할땐 괄호안의 값을 반드시 리스트 형태로 입력해야 합니다.
- between(값1,값2) : 값1 ~ 값2까지 범위안의 데이터만 조회합니다.
사용 예시)
# isin() => 값 나열 #값이 4와 1인 것
data.loc[data['JobSatisfaction'].isin([1,4])]
# between() => 범위 지정
data.loc[data['Age'].between(25, 30)]
# 조건에 맞는 하나의 열 조회 Age는 열이름
data.loc[data['MonthlyIncome'] >= 10000, ['Age']]
[그룹 집계]
판다스의 .groupby()기능은 데이터를 그룹별로 분할하여 독립된 그룹에 대하여
별도로 데이터를 처리 하거나 그룹별 통계량을 확인하고자 할 때 유용한 함수입니다.
사용 예시)
# MaritalStatus 별 Age 평균 --> 데이터프레임
data.groupby('MaritalStatus', as_index=False)[['Age']].mean()
# 두개의 열은 리스트로 지정해야함
data.groupby('MaritalStatus', as_index=False)[['Age','MonthlyIncome']].mean()
# 'MaritalStatus', 'Gender'별 나머지 열들 평균 조회
data_sum = data.groupby(['MaritalStatus', 'Gender'], as_index=False)[['Age','MonthlyIncome']].mean()
반응형
'KT-AIVLE' 카테고리의 다른 글
[KT-AIVLE 5주차 AI Track] 딥러닝 (0) | 2023.03.17 |
---|---|
[KT-AIVLE 4주차 AI Track] 머신러닝 (0) | 2023.03.17 |
[KT-AIVLE 3주차 AI Track] 미프,코마,웹크롤링 (0) | 2023.03.17 |
[KT-AIVLE 2주차 AI Track] Numpy Library (0) | 2023.03.17 |
[KT-AIVLE 1주차 AI Track] Git , Algorithm (0) | 2023.03.17 |