Pandas 2

중급 Python

Hugo Bowne-Anderson

Data Scientist at DataCamp

brics

import pandas as pd
brics = pd.read_csv("path/to/brics.csv", index_col = 0)
brics
         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
중급 Python

데이터 인덱싱 및 선택

  • 대괄호
  • 고급 방법
    • loc
    • iloc
중급 Python

[ ]로 열 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
brics["country"]
BR          Brazil
RU          Russia
IN           India
CH           China
SA    South Africa
Name: country, dtype: object
중급 Python

[ ]로 열 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
type(brics["country"])
pandas.core.series.Series
  • 레이블이 있는 1D 배열
중급 Python

[ ]로 열 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
brics[["country"]]
         country
BR        Brazil
RU        Russia
IN         India
CH         China
SA  South Africa
중급 Python

[ ]로 열 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
type(brics[["country"]])
pandas.core.frame.DataFrame
중급 Python

[ ]로 열 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
brics[["country", "capital"]]
         country    capital
BR        Brazil   Brasilia
RU        Russia     Moscow
IN         India  New Delhi
CH         China    Beijing
SA  South Africa   Pretoria
중급 Python

[ ]로 행 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
brics[1:4]
   country    capital    area  population
RU  Russia     Moscow  17.100       143.5
IN   India  New Delhi   3.286      1252.0
CH   China    Beijing   9.597      1357.0
중급 Python

[ ]로 행 선택

         country    capital    area  population 
BR        Brazil   Brasilia   8.516      200.40    * 0 *
RU        Russia     Moscow  17.100      143.50    * 1 *
IN         India  New Delhi   3.286     1252.00    * 2 *
CH         China    Beijing   9.597     1357.00    * 3 *
SA  South Africa   Pretoria   1.221       52.98    * 4 *
brics[1:4]
   country    capital    area  population
RU  Russia     Moscow  17.100       143.5
IN   India  New Delhi   3.286      1252.0
CH   China    Beijing   9.597      1357.0
중급 Python

[ ] 알아보기

  • 대괄호: 기능 제한적
  • 이상적인 형태
  • pandas
    • loc(레이블 기반)
    • iloc(정수 위치 기반)
중급 Python

loc으로 행 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
brics.loc["RU"]
country       Russia
capital       Moscow
area            17.1
population     143.5
Name: RU, dtype: object
  • 행이 pandas Series로 반환됨
중급 Python

loc으로 행 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
brics.loc[["RU"]]
   country capital  area  population
RU  Russia  Moscow  17.1       143.5
  • DataFrame
중급 Python

loc으로 행 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
brics.loc[["RU", "IN", "CH"]]
   country    capital    area  population
RU  Russia     Moscow  17.100       143.5
IN   India  New Delhi   3.286      1252.0
CH   China    Beijing   9.597      1357.0
중급 Python

loc으로 행과 열 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
brics.loc[["RU", "IN", "CH"], ["country", "capital"]]
   country    capital
RU  Russia     Moscow
IN   India  New Delhi
CH   China    Beijing
중급 Python

loc으로 행과 열 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
brics.loc[:, ["country", "capital"]]
         country    capital
BR        Brazil   Brasilia
RU        Russia     Moscow
IN         India  New Delhi
CH         China    Beijing
SA  South Africa   Pretoria
중급 Python

복습

  • 대괄호
    • 열 선택: brics[["country", "capital"]]
    • 행 선택: brics[1:4]{{3}} 슬라이싱을 통해서만 가능
  • loc(레이블 기반)
    • 행 선택: brics.loc[["RU", "IN", "CH"]]
    • 열 선택: brics.loc[:, ["country", "capital"]]
    • 행 및 열 선택
      brics.loc[
      ["RU", "IN", "CH"], 
      ["country", "capital"]
      ]
      
중급 Python

iloc으로 행 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
brics.loc[["RU"]]
   country capital  area  population
RU  Russia  Moscow  17.1       143.5
brics.iloc[[1]]
   country capital  area  population
RU  Russia  Moscow  17.1       143.5
중급 Python

iloc으로 행 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
brics.loc[["RU", "IN", "CH"]]
   country    capital    area  population
RU  Russia     Moscow  17.100       143.5
IN   India  New Delhi   3.286      1252.0
CH   China    Beijing   9.597      1357.0
중급 Python

iloc으로 행 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
brics.iloc[[1,2,3]]
   country    capital    area  population
RU  Russia     Moscow  17.100       143.5
IN   India  New Delhi   3.286      1252.0
CH   China    Beijing   9.597      1357.0
중급 Python

iloc으로 행과 열 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
brics.loc[["RU", "IN", "CH"], ["country", "capital"]]
   country    capital
RU  Russia     Moscow
IN   India  New Delhi
CH   China    Beijing
중급 Python

iloc으로 행과 열 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
brics.iloc[[1,2,3], [0, 1]]
   country    capital
RU  Russia     Moscow
IN   India  New Delhi
CH   China    Beijing
중급 Python

iloc으로 행과 열 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
brics.loc[:, ["country", "capital"]]
         country    capital
BR        Brazil   Brasilia
RU        Russia     Moscow
IN         India  New Delhi
CH         China    Beijing
SA  South Africa   Pretoria
중급 Python

iloc으로 행과 열 선택

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98
brics.iloc[:, [0,1]]
         country    capital
BR        Brazil   Brasilia
RU        Russia     Moscow
IN         India  New Delhi
CH         China    Beijing
SA  South Africa   Pretoria
중급 Python

연습해 봅시다!

중급 Python

Preparing Video For Download...