Pandas, Phần 2

Python nâng cao

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 nâng cao

Đánh chỉ mục và chọn dữ liệu

  • Dấu ngoặc vuông
  • Phương pháp nâng cao
    • loc
    • iloc
Python nâng cao

Truy cập cột [ ]

         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 nâng cao

Truy cập cột [ ]

         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
  • Mảng 1D có nhãn
Python nâng cao

Truy cập cột [ ]

         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 nâng cao

Truy cập cột [ ]

         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 nâng cao

Truy cập cột [ ]

         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 nâng cao

Truy cập hàng [ ]

         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 nâng cao

Truy cập hàng [ ]

         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 nâng cao

Thảo luận [ ]

  • Dấu ngoặc vuông: chức năng hạn chế
  • Lý tưởng
    • Mảng NumPy 2D
    • my_array[rows, columns]
  • pandas
    • loc (theo nhãn)
    • iloc (theo vị trí số nguyên)
Python nâng cao

Truy cập hàng 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
  • Hàng dạng pandas Series
Python nâng cao

Truy cập hàng 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 nâng cao

Truy cập hàng 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 nâng cao

Hàng & cột 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 nâng cao

Hàng & cột 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 nâng cao

Tóm tắt

  • Dấu ngoặc vuông
    • Truy cập cột brics[["country", "capital"]]
    • Truy cập hàng: chỉ cắt lát brics[1:4]
  • loc (theo nhãn)
    • Truy cập hàng brics.loc[["RU", "IN", "CH"]]
    • Truy cập cột brics.loc[:, ["country", "capital"]]
    • Truy cập hàng & cột
      brics.loc[
      ["RU", "IN", "CH"], 
      ["country", "capital"]
      ]
      
Python nâng cao

Truy cập hàng 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 nâng cao

Truy cập hàng 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 nâng cao

Truy cập hàng 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 nâng cao

Hàng & cột 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 nâng cao

Hàng & cột 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 nâng cao

Hàng & cột 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 nâng cao

Hàng & cột 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 nâng cao

Ayo berlatih!

Python nâng cao

Preparing Video For Download...