[Pandas] csv파일을 dataframe으로 생성, 활용

2164 단어 pandaspandas

from CSV to dataframe

  • csv를 dataframe로 생성
  • .read_csv() 사용
covid = pd.read_csv("./country_wise_latest.csv")

Pandas 활용

1. 일부분만 관찰

  • head(n): 위에서부터 n개의 데이터 참조
  • tail(n): 아래에서부터 n개의 데이터 참조

2. 데이터 접근

  • df[column_name] or df.column_name

3. "조건"을 이용해 데이터 접근

# 신규확진자가 100명이 넘는 나라를 찾아보자 ~!

covid[covid["New cases"] > 100].head(5)

# WHO 지역이 동남아시아인 나라 찾기 

covid["WHO Region"].unique()  # "WHO Region"의 모든 column을 중복없이 나열 
covid[ covid["WHO Region"] == 'South-East Asia' ]

4. 행을 기준으로 데이터 접근

books_dic = {"Available":[True, True, False], "Location":[102, 215, 323], "Genre":["programming", "physics", "math"]}
books_df = pd.DataFrame(books_dic, index=["버그란 무엇인가", " 두근 물리학", "수학의 정석"])

books_df.loc["버그란 무엇인가"] # "버그란 무엇인가"의 행을 가져옴 
books_df.loc["수학의 정석", "Available"]  # 인덱스를 이용해서 값을 가져올 수 있음
> False

books_df.iloc[1, 0:2]  # 숫자 인덱스를 이용해서 값을 가져올 수 있음
> Available    True
  Location      215 
  Name:  두근 물리학, dtype: object

5. groupby

  • split: 특정한 기준을 바탕으로 dataframe을 분할
  • apply: 통계함수(sum(), mean(), ...)을 적용해서 각 데이터를 압축
  • combine: apply된 결과를 바탕으로 새로운 series 생성 (group_key : applied_value)
  • groupby()
# WHO Region별 확진자 수

# 1. covid에서 확진자 수 column만 추출
# 2. 이를 covid의 WHO Region을 기준으로 groupby

covid_by_region = covid["Confirmed"].groupby(by = covid["WHO Region"])
covid_by_region.sum()
> WHO Region
  Africa                    723207
  Americas                 8839286
  Eastern Mediterranean    1490744
  Europe                   3299523
  South-East Asia          1835297
  Western Pacific           292428
  Name: Confirmed, dtype: int64

좋은 웹페이지 즐겨찾기