반응형
Pandas로 2차원 데이터 다루기 - dataframe
dataframe?
- 2-D labeled table
- 인덱스를 지정할 수도 있음
import pandas as pd
import numpy as np
d = {"height":[1,2,3,4],"weight":[30,40,50,60]}
df = pd.DataFrame(d)
df
dtype 확인
df.dtypes
From CSV to dataframe
- Comma Separated Value를 DataFrame으로 생성해줄 수 있다.
read_csv()
를 이용
동일 경로에 country_wise_latest.csv가 존재하면
covid = pd.read_csv("./country_wise_latest.csv")
covid
Pandas 활용 1. 일부부만 관찰하기
haed(n)
: 처음 n개의 데이터 참조tail(n)
: 마지막 n개의 데이터 참조
Pandas 활용 2. 데이터 접근하기
df['column_name']
ordf.column_name
covid["Confirmed"][1:5]
Pandas 활용 3."조건"을 이용해서 데이터 접근하기
# 신규 확진자가 100명이 넘는 나라를 찾아보자!
covid[covid["New cases"][:]> 100]
특정 column에 어떠한 값들이 있는지 중복없이 알아보고자 할때
df["name"].unique()
를 사용한다
Pandas 활용 4. 행을 기준으로 데이터 접근하기
- 예시 데이터 - 도서관 정보
books_dict = {"Available":[True,True,False],"Location":[102,215,323],"Genre":["Programming","physics","Math"]}
books_df = pd.DataFrame(books_dict,index = ["버그란 무엇인가","두근두근 물리학","미분해줘 홈즈"]) # index를 지정해줌
books_df
인덱스를 이용해서 가져오기: .loc[row,col]
books_df.loc["버그란 무엇인가"]
# "미분해줘 홈즈 책이 대출 가능한지?"
books_df.loc["미분해줘 홈즈","Available"]
숫자 인덱스를 이용해서가져오기:.iloc[rowidx,colidx]
인덱스 0행의 인덱스 1열 가져오기
books_df.iloc[0,1]
Pandas 활용 5.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
covid_by_region.sum()
# 국가당 감염자 수
covid_by_region.mean() #sum()/ 국가수 (groupby된 개체의 합)
해당 데이터셋 출처
'AI_Bootcamp' 카테고리의 다른 글
1주차 DAY5 파이썬으로 데이터 다루기 (T.I.L) chap 1 (0) | 2022.01.07 |
---|---|
1주차 DAY4 파이썬으로 데이터 다루기 (T.I.L) (0) | 2022.01.06 |
1주차 DAY3 파이썬으로 데이터 다루기 (T.I.L) chap1 (0) | 2022.01.05 |
1주차 DAY2 파이썬으로 데이터 다루기 (T.I.L) chap 2 (0) | 2022.01.04 |
1주차 DAY2 파이썬으로 데이터 다루기 (T.I.L) chap1 (0) | 2022.01.04 |