Giới thiệu về DataFrame

Xử lý dữ liệu với pandas

Richie Cotton

Data Evangelist at DataCamp

pandas để làm gì?

Xử lý dữ liệu với pandas

Đề cương khóa học

  • Chương 1: DataFrame
    • Sắp xếp và chọn lọc
    • Tạo cột mới
  • Chương 2: Tổng hợp dữ liệu
    • Thống kê tóm tắt
    • Đếm
    • Thống kê theo nhóm
  • Chương 3: Cắt lát và đánh chỉ mục

    • Chia nhỏ bằng slicing
    • Chỉ mục và chọn lọc bằng chỉ mục
  • Chương 4: Tạo và trực quan hóa dữ liệu

    • Vẽ biểu đồ
    • Xử lý dữ liệu thiếu
    • Đọc dữ liệu vào DataFrame
Xử lý dữ liệu với pandas

pandas xây dựng trên NumPy và Matplotlib

Một tam giác đặt trên hai hình chữ nhật. Tam giác đại diện cho gói pandas, các hình chữ nhật đại diện cho gói NumPy và matplotlib.

Xử lý dữ liệu với pandas

pandas rất phổ biến

Biểu tượng cảm xúc con gấu trúc lặp lại hàng trăm lần, đại diện cho số lượng người dùng lớn của pandas.

1 https://pypistats.org/packages/pandas
Xử lý dữ liệu với pandas

Dữ liệu hình chữ nhật

Tên Giống Màu Cao (cm) Nặng (kg) Ngày sinh
Bella Labrador Nâu 56 25 2013-07-01
Charlie Poodle Đen 43 23 2016-09-16
Lucy Chow Chow Nâu 46 22 2014-08-25
Cooper Schnauzer Xám 49 17 2011-12-11
Max Labrador Đen 59 29 2017-01-20
Stella Chihuahua Vàng 18 2 2015-04-20
Bernie St. Bernard Trắng 77 74 2018-02-27
Xử lý dữ liệu với pandas

pandas DataFrame

print(dogs)
      name        breed  color  height_cm  weight_kg date_of_birth
0    Bella     Labrador  Brown         56         24    2013-07-01
1  Charlie       Poodle  Black         43         24    2016-09-16
2     Lucy    Chow Chow  Brown         46         24    2014-08-25
3   Cooper    Schnauzer   Gray         49         17    2011-12-11
4      Max     Labrador  Black         59         29    2017-01-20
5   Stella    Chihuahua    Tan         18          2    2015-04-20
6   Bernie  St. Bernard  White         77         74    2018-02-27
Xử lý dữ liệu với pandas

Khám phá DataFrame: .head()

print(dogs.head())
      name        breed  color  height_cm  weight_kg date_of_birth
0    Bella     Labrador  Brown         56         24    2013-07-01
1  Charlie       Poodle  Black         43         24    2016-09-16
2     Lucy    Chow Chow  Brown         46         24    2014-08-25
3   Cooper    Schnauzer   Gray         49         17    2011-12-11
4      Max     Labrador  Black         59         29    2017-01-20
Xử lý dữ liệu với pandas

Khám phá DataFrame: .info()

print(dogs.info())
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 7 entries, 0 to 6
Data columns (total 6 columns):
 #   Column         Non-Null Count  Dtype 
 --  ------         --------------  ----- 
 0   name           7 non-null      object
 1   breed          7 non-null      object
 2   color          7 non-null      object
 3   height_cm      7 non-null      int64 
 4   weight_kg      7 non-null      int64 
 5   date_of_birth  7 non-null      object
dtypes: int64(2), object(4)
memory usage: 464.0+ bytes
Xử lý dữ liệu với pandas

Khám phá DataFrame: .shape

print(dogs.shape)
(7, 6)
Xử lý dữ liệu với pandas

Khám phá DataFrame: .describe()

print(dogs.describe())
       height_cm  weight_kg
count   7.000000   7.000000
mean   49.714286  27.428571
std    17.960274  22.292429
min    18.000000   2.000000
25%    44.500000  19.500000
50%    49.000000  23.000000
75%    57.500000  27.000000
max    77.000000  74.000000
Xử lý dữ liệu với pandas

Thành phần của DataFrame: .values

print(dogs.values)
array([['Bella', 'Labrador', 'Brown', 56, 24, '2013-07-01'],
       ['Charlie', 'Poodle', 'Black', 43, 24, '2016-09-16'],
       ['Lucy', 'Chow Chow', 'Brown', 46, 24, '2014-08-25'],
       ['Cooper', 'Schnauzer', 'Gray', 49, 17, '2011-12-11'],
       ['Max', 'Labrador', 'Black', 59, 29, '2017-01-20'],
       ['Stella', 'Chihuahua', 'Tan', 18, 2, '2015-04-20'],
       ['Bernie', 'St. Bernard', 'White', 77, 74, '2018-02-27']],
      dtype=object)
Xử lý dữ liệu với pandas

Thành phần của DataFrame: .columns và .index

print(dogs.columns)
Index(['name', 'breed', 'color', 'height_cm', 'weight_kg', 'date_of_birth'],
dtype='object')
dogs.index
RangeIndex(start=0, stop=7, step=1)
Xử lý dữ liệu với pandas

Triết lý của pandas

Nên có một cách — và tốt nhất là chỉ một cách — rõ ràng để làm việc đó.

     - The Zen of Python của Tim Peters, Mục 13

Một con dao đa năng Thụy Sĩ màu xanh lá

1 https://www.python.org/dev/peps/pep-0020/
Xử lý dữ liệu với pandas

Ayo berlatih!

Xử lý dữ liệu với pandas

Preparing Video For Download...