0906
3주차-Day3) Python으로 데이터 다루기 2 - Pandas
Pandas 시작하기
Table, 행과 열을 이용해서 데이터를 저장하고 관리하는 자료구조(컨테이너)
주로 '행'은 '개체', '열'은 '속성'을 나타냄
# 코드 위주 정리
import pandas as pd
Pandas로 1차원 데이터 다루기 - Series
1-D labeled array, 인덱스 지정 가능
# 코드 위주 정리
s = pd.Series([1, 4, 9, 16, 26])
t = pd.Series({'one':1, 'two':2, 'three':3, 'four':4, 'five':5})
s
t
Series + Numpy
'Series'는 'ndarray'와 유사하다
# 코드 위주 정리
s[1] # 4
s.dtype # dtype('int64')
import numpy as np
np.exp(s)
Series + dict
'series'는 'dict'와 유사하다
# 코드 위주 정리
t['one'] # 1
'seven' in t # False
t.get('seven')
t.get('seven', 0) # 0
Serie에 이름 붙이기
'name'속성을 이용해 시리즈에 이름을 붙일 수 있다
# 코드 위주 정리
s = pd.Series(np.random.randn(5), name="random_nums")
s.name = "임의의 난수"
s
Pandas로 2차원 데이터 다루기 - dataframe
2-D labeled table, 인덱스 지정 가능
# 코드 위주 정리
d = {"height":[1, 2, 3, 4], "weight":[30, 40, 50, 60]}
df = pd.DataFrame(d)
df
'Comma Separated Value'를 'DataFrame'으로 생성해 줄 수 있다
'.read_csv()'를 이용
# 코드 위주 정리
csv = pd.read_csv("파일 경로")
csv.head(5) # 위에서부터 5개 관찰
csv.tail(5) # 아래에서부터 5개 관찰
csv['열 이름']
csv.열 이름 # 결과는 똑같지만 아래 방식은 띄어쓰기가 되어 있을 경우 오류
csv['열 이름'][0] # dataframe 각 열은 Series
'조건' 이용해서 데이터 접근하기
# 코드 위주 정리
# 신규 확진자가 100명이 넘는 나라를 찾아보자!
covid[covid["New cases"] > 100].head(5) # 예시 코드
# WHO 지역(WHO Region)이 동남아시아인 나라 찾기
covid['WHO Region'].unique()
# array(['Eastern Mediterranean', 'Europe', 'Africa', 'Americas',
# 'Western Pacific', 'South-East Asia'], dtype=object)
covid[covid['WHO Region'] == 'South-East Asia']
'행 기준'으로 데이터 접근하기, '인덱스/숫자 인덱스' 이용해서 데이터 가져오기
# 코드 위주 정리
# 예시 데이터 - 도서관 정보
books_dict = {"Available":[True, True, False], "Location":[102, 215, 323], "Genre":["Programming", "Physics", "Math"]}
books_df = pd.DataFrame(books_dict, index=['버그란 무엇인가', '두근두근 물리학', '미분해줘 홈즈'])
books_df.loc["버그란 무엇인가"] # 인덱스 이용해서 가져오기
books_df.iloc[1, 0:2] # 숫자 인덱스 이용해서 가져오기
'groupby'
- Split : 특정한 "기준"을 바탕으로 DataFrame을 분할
- Apply : 통계함수 - sum(), mean(), median() - 을 적용해서 각 데이터를 압축
- Combine : Apply된 결과를 바탕으로 새로운 Series 생성 (group_key : applied_value)
# 코드 위주 정리
#예시 데이터 셋 활용
# WHO Region 별 확진자 수
# 1. covid에서 확진자 수 column만 추출한다.
# 2. 이를 covid의 WHO Region을 기준으로 groupby한다.
covid_by_region = covid["Confirmed"].groupby(by=covid["WHO Region"])
covid_by_region.sum()
covid_by_region.mean() # sum() / 국가 수
'프로그래머스 데브 코스 > TIL' 카테고리의 다른 글
[6기] 프로그래머스 인공지능 데브코스 8일차 TIL (0) | 2023.09.08 |
---|---|
[6기] 프로그래머스 인공지능 데브코스 7일차 TIL (0) | 2023.09.07 |
[6기] 프로그래머스 인공지능 데브코스 5일차 TIL (0) | 2023.09.05 |
[6기] 프로그래머스 인공지능 데브코스 4일차 TIL (0) | 2023.09.04 |
[6기] 프로그래머스 인공지능 데브코스 3일차 TIL (0) | 2023.09.03 |