Hướng dẫn dùng pandas python

                                                                                                                                                                                                                                              Nguồn tham khảo: learndatasci, coursereport

Python: Pandas DataFrame: Làm việc với dữ liệu một cách thú vị
Các khóa học qua video:
Lập trình C Java C# SQL Server PHP HTML5-CSS3-JavaScript

Mục lục bài viết:

  • Giới thiệu Pandas DataFrame
  • Tạo dữ liệu gấu trúc
    • Tạo dữ liệu gấu trúc bằng từ điển
    • Tạo dữ liệu gấu trúc với danh sách
    • Tạo dữ liệu gấu trúc với Mảng NumPy
    • Tạo dữ liệu gấu trúc từ tệp
  • Truy xuất nhãn và dữ liệu
    • Pandas DataFrame Labels as Sequences
    • Dữ liệu dưới dạng Mảng NumPy
    • Loại dữ liệu
    • Dữ liệu gấu trúc
  • Truy cập và sửa đổi dữ liệu
    • Nhận dữ liệu với người truy cập
    • Thiết lập dữ liệu với trình truy cập
  • Chèn và Xóa dữ liệu
    • Chèn và xóa hàng
    • Chèn và Xóa các Cột
  • Áp dụng các phép toán số học
  • Áp dụng các hàm NumPy và SciPy
  • Sắp xếp dữ liệu gấu trúc
  • Lọc dữ liệu
  • Xác định thống kê dữ liệu
  • Xử lý dữ liệu bị thiếu
    • Tính toán với dữ liệu bị thiếu
    • Làm đầy dữ liệu bị thiếu
    • Xóa hàng và cột có dữ liệu bị thiếu
  • Lặp lại trên một dữ liệu gấu trúc
  • Làm việc với chuỗi thời gian
    • Tạo DataFrames với nhãn chuỗi thời gian
    • Lập chỉ mục và cắt lát
    • Lấy mẫu lại và cán
  • Lập kế hoạch với dữ liệu gấu trúc
  • Đọc thêm
  • Phần kết luận

Các Pandas DataFrame là một cấu trúc có chứa dữ liệu hai chiều và tương ứng của nó nhãn . DataFrames được sử dụng rộng rãi trong khoa học dữ liệu , máy học , máy tính khoa học và nhiều lĩnh vực sử dụng nhiều dữ liệu khác.

DataFrames tương tự như bảng SQL hoặc bảng tính mà bạn làm việc trong Excel hoặc Calc. Trong nhiều trường hợp, DataFrame nhanh hơn, dễ sử dụng hơn và mạnh hơn bảng hoặc bảng tính vì chúng là một phần không thể thiếu của hệ sinh thái Python và  .

Trong hướng dẫn này, bạn sẽ học:

  • Pandas DataFrame là gì và cách tạo một Pandas DataFrame
  • Cách truy cập, sửa đổi, thêm, sắp xếp, lọc và xóa dữ liệu
  • Cách xử lý các giá trị bị thiếu
  • Cách làm việc với dữ liệu chuỗi thời gian
  • Cách nhanh chóng trực quan hóa dữ liệu

Đã đến lúc bắt đầu với Pandas DataFrames!

Giới thiệu Pandas DataFrame

Pandas DataFrames là cấu trúc dữ liệu chứa:

  • Dữ liệu được tổ chức theo hai thứ nguyên , hàng và cột
  • Các nhãn tương ứng với các hàng và cột

Bạn có thể bắt đầu làm việc với DataFrames bằng cách nhập Pandas :

>>>

>>> import pandas as pd

Bây giờ bạn đã nhập Pandas, bạn có thể làm việc với DataFrames.

Hãy tưởng tượng bạn đang sử dụng Pandas để phân tích dữ liệu về các ứng viên cho vị trí phát triển ứng dụng web bằng Python . Giả sử bạn quan tâm đến tên, thành phố, tuổi và điểm của ứng viên trong bài kiểm tra lập trình Python hoặc 

>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
3:

 

>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
4
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
5
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
6
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
3
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
8
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
9
>>> import numpy as np
>>> import pandas as pd
0
>>> import numpy as np
>>> import pandas as pd
1
>>> import numpy as np
>>> import pandas as pd
2
>>> import numpy as np
>>> import pandas as pd
3
>>> import numpy as np
>>> import pandas as pd
4
>>> import numpy as np
>>> import pandas as pd
5
>>> import numpy as np
>>> import pandas as pd
6
>>> import numpy as np
>>> import pandas as pd
7
>>> import numpy as np
>>> import pandas as pd
8
>>> import numpy as np
>>> import pandas as pd
9
>>> d = {'x': [1, 2, 3], 'y': np.array[[2, 4, 8]], 'z': 100}

>>> pd.DataFrame[d]
   x  y    z
0  1  2  100
1  2  4  100
2  3  8  100
0
>>> d = {'x': [1, 2, 3], 'y': np.array[[2, 4, 8]], 'z': 100}

>>> pd.DataFrame[d]
   x  y    z
0  1  2  100
1  2  4  100
2  3  8  100
1
>>> d = {'x': [1, 2, 3], 'y': np.array[[2, 4, 8]], 'z': 100}

>>> pd.DataFrame[d]
   x  y    z
0  1  2  100
1  2  4  100
2  3  8  100
2
>>> d = {'x': [1, 2, 3], 'y': np.array[[2, 4, 8]], 'z': 100}

>>> pd.DataFrame[d]
   x  y    z
0  1  2  100
1  2  4  100
2  3  8  100
3
>>> d = {'x': [1, 2, 3], 'y': np.array[[2, 4, 8]], 'z': 100}

>>> pd.DataFrame[d]
   x  y    z
0  1  2  100
1  2  4  100
2  3  8  100
4
>>> d = {'x': [1, 2, 3], 'y': np.array[[2, 4, 8]], 'z': 100}

>>> pd.DataFrame[d]
   x  y    z
0  1  2  100
1  2  4  100
2  3  8  100
5
>>> d = {'x': [1, 2, 3], 'y': np.array[[2, 4, 8]], 'z': 100}

>>> pd.DataFrame[d]
   x  y    z
0  1  2  100
1  2  4  100
2  3  8  100
6
>>> d = {'x': [1, 2, 3], 'y': np.array[[2, 4, 8]], 'z': 100}

>>> pd.DataFrame[d]
   x  y    z
0  1  2  100
1  2  4  100
2  3  8  100
7
>>> d = {'x': [1, 2, 3], 'y': np.array[[2, 4, 8]], 'z': 100}

>>> pd.DataFrame[d]
   x  y    z
0  1  2  100
1  2  4  100
2  3  8  100
8
>>> d = {'x': [1, 2, 3], 'y': np.array[[2, 4, 8]], 'z': 100}

>>> pd.DataFrame[d]
   x  y    z
0  1  2  100
1  2  4  100
2  3  8  100
9
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
00
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
01
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
02
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
03
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
04
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
05
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
06
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
07
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
08
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
09
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
10
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
11
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
12

Trong bảng này, dòng đầu tiên chứa các nhãn cột [ 

>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
4, 
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
5, 
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
6, và 
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
3]. Cột đầu tiên chứa các nhãn hàng [ 
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
8,, 
>>> import numpy as np
>>> import pandas as pd
3v.v.]. Tất cả các ô khác được lấp đầy bởi các giá trị dữ liệu .

Bây giờ bạn có mọi thứ bạn cần để tạo Pandas DataFrame.

Có một số cách để tạo Pandas DataFrame. Trong hầu hết các trường hợp, bạn sẽ sử dụng hàm 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
19tạo và cung cấp dữ liệu, nhãn và thông tin khác. Bạn có thể chuyển dữ liệu dưới dạng danh sách hai chiều , bộ tuple hoặc mảng NumPy . Bạn cũng có thể chuyển nó dưới dạng từ điển hoặc phiên bản  hoặc là một trong một số kiểu dữ liệu khác không được đề cập trong hướng dẫn này.

Đối với ví dụ này, giả sử bạn đang sử dụng  để chuyển dữ liệu:

>>>

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
21là một biến Python đề cập đến từ điển chứa dữ liệu ứng viên của bạn. Nó cũng chứa các nhãn của các cột:

  • >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    22
  • >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    23
  • >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    24
  • >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    25

Cuối cùng, 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
26đề cập đến một danh sách có chứa nhãn của các hàng, là các số từ 
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
8đến 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
08.

Bây giờ bạn đã sẵn sàng để tạo Pandas DataFrame:

>>>

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0

Đó là nó! 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
29là một biến chứa tham chiếu đến Pandas DataFrame của bạn. Pandas DataFrame này trông giống như bảng ứng cử viên ở trên và có các tính năng sau:

  • Các nhãn hàng từ 
    >>> df.loc[103]
    name          Jana
    city        Prague
    age             33
    py-score        81
    Name: 103, dtype: object
    
    8đến
    >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    08
  • Cột nhãn như 
    >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    22, 
    >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    23, 
    >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    24, và
    >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    25
  • Dữ liệu như tên ứng viên, thành phố, độ tuổi và điểm kiểm tra Python

Hình này cho thấy các nhãn và dữ liệu từ 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
29:

Các nhãn hàng được viền màu xanh lam, trong khi các nhãn cột được viền màu đỏ và các giá trị dữ liệu được viền màu tím.

Pandas DataFrames đôi khi có thể rất lớn, khiến việc xem xét tất cả các hàng cùng một lúc là không thực tế. Bạn có thể sử dụng 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
37để hiển thị một số mục đầu tiên và 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
38để hiển thị một số mục cuối cùng:

>>>

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0

Đó là cách bạn có thể hiển thị chỉ phần đầu hoặc phần cuối của Pandas DataFrame. Tham số 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
39chỉ định số hàng sẽ hiển thị.

Lưu ý: Có thể hữu ích khi coi Pandas DataFrame như một từ điển gồm các cột, hoặc Chuỗi Pandas, với nhiều tính năng bổ sung.

Bạn có thể truy cập một cột trong Pandas DataFrame giống như cách bạn lấy giá trị từ từ điển:

>>>

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object

Đây là cách thuận tiện nhất để lấy một cột từ Pandas DataFrame.

Nếu tên của cột là một chuỗi là mã  hợp lệ , thì bạn có thể sử dụng ký hiệu dấu chấm để truy cập nó. Nghĩa là, bạn có thể truy cập cột giống như cách bạn lấy thuộc tính của một cá thể lớp :

>>>

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object

Đó là cách bạn có được một cột cụ thể. Bạn đã trích xuất cột tương ứng với nhãn 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
23, trong đó có vị trí của tất cả các ứng viên công việc của bạn.

Điều quan trọng cần lưu ý là bạn đã trích xuất cả dữ liệu và nhãn hàng tương ứng:

Mỗi cột của Pandas DataFrame là một ví dụ của 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
41cấu trúc chứa dữ liệu một chiều và nhãn của chúng. Bạn có thể lấy một mục của một 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
20đối tượng giống như cách bạn làm với từ điển, bằng cách sử dụng nhãn của nó làm khóa:

>>>

>>> cities[102]
'Toronto'

Trong trường hợp này, 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
43là giá trị dữ liệu và 
>>> import numpy as np
>>> import pandas as pd
3là nhãn tương ứng. Như bạn sẽ thấy trong  , có nhiều cách khác để lấy một mục cụ thể trong Pandas DataFrame.

Bạn cũng có thể truy cập vào toàn bộ một hàng với các accessor 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
45 :

>>>

>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object

Lần này, bạn đã trích xuất hàng tương ứng với nhãn 

>>> import numpy as np
>>> import pandas as pd
8chứa dữ liệu cho ứng viên được đặt tên 
>>> import numpy as np
>>> import pandas as pd
9. Ngoài các giá trị dữ liệu từ hàng này, bạn đã trích xuất nhãn của các cột tương ứng:

Hàng được trả về cũng là một ví dụ của 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
41.

Tạo dữ liệu gấu trúc

Như đã đề cập, có một số cách để tạo Pandas DataFrame. Trong phần này, bạn sẽ học cách làm điều này bằng cách sử dụng hàm 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
19tạo cùng với:

  • Từ điển Python
  • Danh sách Python
  • Mảng NumPy hai chiều
  • Các tập tin

Ngoài ra còn có các phương pháp khác mà bạn có thể tìm hiểu trong  .

Bạn có thể bắt đầu bằng cách nhập Pandas cùng với NumPy , mà bạn sẽ sử dụng trong các ví dụ sau:

>>>

>>> import numpy as np
>>> import pandas as pd

Đó là nó. Bây giờ bạn đã sẵn sàng để tạo một số DataFrames.

Tạo dữ liệu gấu trúc bằng từ điển

Như bạn đã thấy, bạn có thể tạo Pandas DataFrame bằng từ điển Python:

>>>

>>> d = {'x': [1, 2, 3], 'y': np.array[[2, 4, 8]], 'z': 100}

>>> pd.DataFrame[d]
   x  y    z
0  1  2  100
1  2  4  100
2  3  8  100

Các khóa của từ điển là nhãn cột của DataFrame và giá trị từ điển là giá trị dữ liệu trong các cột DataFrame tương ứng. Các giá trị có thể được chứa trong một  ,  , mảng NumPy một chiều , đối tượng Pandas

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
20 hoặc một trong số các kiểu dữ liệu khác. Bạn cũng có thể cung cấp một giá trị duy nhất sẽ được sao chép dọc theo toàn bộ cột.

Có thể kiểm soát thứ tự của các cột bằng 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
51tham số và nhãn hàng bằng 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
52:

>>>

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
0

Như bạn thấy, bạn đã chỉ định các nhãn hàng 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
53, 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
54và 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
55. Bạn tôi cũng đã buộc phải theo thứ tự của cột: 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
56, 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
57, 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
58.

Tạo dữ liệu gấu trúc với danh sách

Một cách khác để tạo Pandas DataFrame là sử dụng danh sách các từ điển:

>>>

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
1

Một lần nữa, khóa từ điển là nhãn cột và giá trị từ điển là giá trị dữ liệu trong DataFrame.

Bạn cũng có thể sử dụng danh sách lồng nhau hoặc danh sách các danh sách làm giá trị dữ liệu. Nếu bạn làm vậy, thì nên chỉ định rõ ràng các nhãn của cột, hàng hoặc cả hai khi bạn tạo DataFrame:

>>>

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
2

Đó là cách bạn có thể sử dụng danh sách lồng nhau để tạo Pandas DataFrame. Bạn cũng có thể sử dụng danh sách các bộ giá trị theo cách tương tự. Để làm như vậy, chỉ cần thay thế các danh sách lồng nhau trong ví dụ trên bằng các bộ giá trị.

Tạo dữ liệu gấu trúc với Mảng NumPy

Bạn có thể truyền mảng NumPy hai chiều cho hàm 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
19tạo giống như cách bạn làm với danh sách:

>>>

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
3

Mặc dù ví dụ này trông gần giống với cách triển khai danh sách lồng nhau ở trên, nhưng nó có một ưu điểm: Bạn có thể chỉ định tham số tùy chọn 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
60.

Khi 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
60được đặt thành 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
62[cài đặt mặc định], dữ liệu từ mảng NumPy sẽ không được sao chép. Điều này có nghĩa là dữ liệu gốc từ mảng được gán cho Pandas DataFrame. Nếu bạn sửa đổi mảng, thì DataFrame của bạn cũng sẽ thay đổi:

>>>

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
4

Như bạn có thể thấy, khi bạn thay đổi mục đầu tiên 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
63, bạn cũng sửa đổi 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
64.

Lưu ý: Việc không sao chép các giá trị dữ liệu có thể giúp bạn tiết kiệm đáng kể thời gian và sức mạnh xử lý khi làm việc với các tập dữ liệu lớn.

Nếu hành vi này không phải là những gì bạn muốn, thì bạn nên chỉ định 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
65trong hàm 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
19tạo. Bằng cách đó, 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
64sẽ được tạo với một bản sao của các giá trị từ 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
63thay vì các giá trị thực tế.

Tạo dữ liệu gấu trúc từ tệp

Bạn có thể lưu và tải dữ liệu và nhãn từ Pandas DataFrame đến và từ một số loại tệp, bao gồm CSV, Excel, SQL, JSON, v.v. Đây là một tính năng rất mạnh mẽ.

Bạn có thể lưu DataFrame ứng viên công việc của mình vào tệp CSV với 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
69:

>>>

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
5

Câu lệnh trên sẽ tạo ra một tệp CSV được gọi 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
70trong thư mục làm việc của bạn:

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
6

Giờ bạn đã có tệp CSV chứa dữ liệu, bạn có thể tải tệp đó bằng 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
71:

>>>

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
7

Đó là cách bạn lấy Pandas DataFrame từ một tệp. Trong trường hợp này, 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
72chỉ định rằng các nhãn hàng nằm trong cột đầu tiên của tệp CSV.

Truy xuất nhãn và dữ liệu

Bây giờ bạn đã tạo DataFrame của mình, bạn có thể bắt đầu truy xuất thông tin từ nó. Với Pandas, bạn có thể thực hiện các hành động sau:

  • Truy xuất và sửa đổi nhãn hàng và cột dưới dạng chuỗi
  • Biểu diễn dữ liệu dưới dạng mảng NumPy
  • Kiểm tra và điều chỉnh các loại dữ liệu
  • Phân tích kích thước của 
    >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    19các đối tượng

Pandas DataFrame Labels as Sequences

Bạn có thể lấy nhãn hàng của DataFrame với 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
74và nhãn cột của nó với 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
75:

>>>

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
8

Bây giờ bạn có nhãn hàng và cột là các loại chuỗi đặc biệt. Như bạn có thể làm với bất kỳ chuỗi Python nào khác, bạn có thể nhận được một mục duy nhất:

>>>

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
9

Ngoài việc trích xuất một mục cụ thể, bạn có thể áp dụng các thao tác trình tự khác, bao gồm cả việc lặp qua các nhãn của hàng hoặc cột. Tuy nhiên, điều này hiếm khi cần thiết vì Pandas cung cấp các cách khác để lặp qua DataFrames mà bạn sẽ thấy trong  .

Bạn cũng có thể sử dụng phương pháp này để sửa đổi các nhãn:

>>>

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
0

Trong ví dụ này, bạn sử dụng 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
76để tạo một chuỗi nhãn hàng mới chứa các số nguyên từ 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
77đến 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
78. Để tìm hiểu thêm 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
79, hãy xem NumPy arange []: Cách sử dụng np.arange [] .

Hãy nhớ rằng nếu bạn cố gắng sửa đổi một mục cụ thể của 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
74hoặc 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
75, thì bạn sẽ nhận được .

Dữ liệu dưới dạng Mảng NumPy

Đôi khi bạn có thể muốn trích xuất dữ liệu từ Pandas DataFrame mà không có nhãn của nó. Để nhận mảng NumPy với dữ liệu chưa được gắn nhãn, bạn có thể sử dụng 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
83hoặc 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
84:

>>>

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
1

Cả hai 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
83và 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
84công việc tương tự, và cả hai đều trở lại một mảng với các dữ liệu từ các Pandas DataFrame NumPy:

Tài liệu Pandas đề xuất sử dụng 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
83vì tính linh hoạt được cung cấp bởi hai tham số tùy chọn:

  1. >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    88: Sử dụng tham số này để chỉ định kiểu dữ liệu của mảng kết quả. Nó được đặt thành 
    >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    89theo mặc định.
  2. >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    60: Đặt tham số này thành 
    >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    62nếu bạn muốn sử dụng dữ liệu gốc từ DataFrame. Đặt nó thành 
    >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    92nếu bạn muốn tạo một bản sao dữ liệu.

Tuy nhiên, nó 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
84đã tồn tại lâu hơn nhiều so với 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
83những gì đã được giới thiệu trong phiên bản Pandas 0.24.0. Điều đó có nghĩa là bạn có thể sẽ thấy 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
84thường xuyên hơn, đặc biệt là trong mã cũ hơn.

Loại dữ liệu

Các loại các giá trị dữ liệu , hay còn gọi là kiểu dữ liệu hoặc dtypes , rất quan trọng vì họ xác định dung lượng bộ nhớ sử dụng DataFrame của bạn, cũng như tốc độ tính toán của nó và mức độ chính xác.

Gấu trúc phụ thuộc rất nhiều vào kiểu dữ liệu NumPy . Tuy nhiên, Pandas 1.0 đã giới thiệu một số loại bổ sung:

  • và hỗ trợ các giá trị Boolean bị thiếu và  giá trị  .
  • và 
    >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    99đại diện cho một loại chuỗi chuyên dụng.

Bạn có thể lấy các kiểu dữ liệu cho từng cột của Pandas DataFrame bằng :

>>>

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
2

Như bạn có thể thấy, 

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
00trả về một 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
20đối tượng có tên cột làm nhãn và kiểu dữ liệu tương ứng dưới dạng giá trị.

Nếu bạn muốn sửa đổi kiểu dữ liệu của một hoặc nhiều cột, thì bạn có thể sử dụng 

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
03:

>>>

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
3

Tham số bắt buộc quan trọng nhất và duy nhất của 

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
03là 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
88. Nó mong đợi một kiểu dữ liệu hoặc từ điển. Nếu bạn chuyển từ điển, thì các khóa là tên cột và các giá trị là kiểu dữ liệu tương ứng mong muốn của bạn.

Như bạn có thể thấy, các kiểu dữ liệu cho các cột 

>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
6và 
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
3trong DataFrame 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
29đều 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
09, đại diện cho 64-bit [hoặc 8-byte] số nguyên. Tuy nhiên, 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
64cũng cung cấp một kiểu dữ liệu số nguyên 32 bit [4 byte] nhỏ hơn được gọi 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
11.

Dữ liệu gấu trúc

Các thuộc tính 

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
12, 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
13và 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
14trả lại số kích thước, số lượng các giá trị dữ liệu trên mỗi chiều, và tổng số giá trị dữ liệu, tương ứng:

>>>

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
4

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
19các phiên bản có hai thứ nguyên [hàng và cột], do đó, 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
12trả về 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
17. Mặt khác, một 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
20đối tượng chỉ có một chiều duy nhất, vì vậy trong trường hợp đó, 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
12sẽ quay trở lại 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
20.

Các 

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
14lợi nhuận thuộc tính một tuple với số hàng [trong trường hợp này 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
22] và số cột [ 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
23]. Cuối cùng, 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
13trả về một số nguyên bằng số giá trị trong DataFrame [ 
>>> import numpy as np
>>> import pandas as pd
6].

Bạn thậm chí có thể kiểm tra dung lượng bộ nhớ được sử dụng bởi mỗi cột với 

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
26:

>>>

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
5

Như bạn có thể thấy, 

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
26trả về một Chuỗi với tên cột làm nhãn và mức sử dụng bộ nhớ tính bằng byte dưới dạng giá trị dữ liệu. Nếu bạn muốn loại trừ việc sử dụng bộ nhớ của cột chứa các nhãn hàng, thì hãy chuyển đối số tùy chọn 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
28.

Trong ví dụ trên, hai cột cuối cùng 

>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
6và 
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
3sử dụng 28 byte bộ nhớ mỗi cột . Đó là bởi vì các cột này có bảy giá trị, mỗi giá trị là một số nguyên chiếm 32 bit hoặc 4 byte. Bảy số nguyên nhân với 4 byte, mỗi số tương đương với tổng số 28 byte sử dụng bộ nhớ.

Truy cập và sửa đổi dữ liệu

Bạn đã học cách lấy một hàng hoặc cột cụ thể của Pandas DataFrame làm 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
20đối tượng:

>>>

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
6

Trong ví dụ đầu tiên, bạn truy cập cột 

>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
4như cách bạn truy cập một phần tử từ từ điển, bằng cách sử dụng nhãn của nó làm khóa. Nếu nhãn cột là một mã định danh Python hợp lệ, thì bạn cũng có thể sử dụng ký hiệu dấu chấm để truy cập cột. Trong ví dụ thứ hai, bạn sử dụng 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
45để lấy hàng theo nhãn của nó 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
77,.

Nhận dữ liệu với người truy cập

Ngoài trình truy cập 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
45mà bạn có thể sử dụng để lấy các hàng hoặc cột theo nhãn của chúng, Pandas cung cấp trình 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
36truy cập, truy xuất một hàng hoặc cột theo chỉ mục số nguyên của nó. Trong hầu hết các trường hợp, bạn có thể sử dụng một trong hai cách sau:

>>>

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
7

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
37trả về hàng có nhãn 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
77. Tương tự, 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
39trả về hàng có chỉ mục dựa trên 0 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
40, là hàng đầu tiên. Như bạn có thể thấy, cả hai câu lệnh đều trả về cùng một hàng như một 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
20đối tượng.

Tổng cộng Pandas có bốn người truy cập:

  1. >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    45chấp nhận các nhãn của hàng và cột và trả về Chuỗi hoặc Dữ liệu. Bạn có thể sử dụng nó để lấy toàn bộ hàng hoặc cột, cũng như các phần của chúng.

  2. >>> df = pd.DataFrame[data=data, index=row_labels]
    >>> df
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    103    Jana       Prague   33      81.0
    104      Yi     Shanghai   34      80.0
    105   Robin   Manchester   38      68.0
    106    Amal        Cairo   31      61.0
    107    Nori        Osaka   37      84.0
    
    36chấp nhận các chỉ số dựa trên 0 của các hàng và cột và trả về Series hoặc DataFrames. Bạn có thể sử dụng nó để lấy toàn bộ hàng hoặc cột hoặc các phần của chúng.

  3. >>> df = pd.DataFrame[data=data, index=row_labels]
    >>> df
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    103    Jana       Prague   33      81.0
    104      Yi     Shanghai   34      80.0
    105   Robin   Manchester   38      68.0
    106    Amal        Cairo   31      61.0
    107    Nori        Osaka   37      84.0
    
    44 chấp nhận nhãn của các hàng và cột và trả về một giá trị dữ liệu duy nhất.

  4. >>> df = pd.DataFrame[data=data, index=row_labels]
    >>> df
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    103    Jana       Prague   33      81.0
    104      Yi     Shanghai   34      80.0
    105   Robin   Manchester   38      68.0
    106    Amal        Cairo   31      61.0
    107    Nori        Osaka   37      84.0
    
    45 chấp nhận các chỉ số dựa trên 0 của các hàng và cột và trả về một giá trị dữ liệu duy nhất.

Trong số này, 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
45và 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
36đặc biệt mạnh mẽ. Chúng hỗ trợ cắt và lập chỉ mục kiểu NumPy . Bạn có thể sử dụng chúng để truy cập một cột:

>>>

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
8

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
48trả về cột 
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
5. Cấu trúc  [ 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
50] ở vị trí nhãn hàng có nghĩa là tất cả các hàng phải được đưa vào. 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
51trả về cùng một cột vì chỉ mục dựa trên 0 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
20tham chiếu đến cột thứ hai 
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
5,.

Cũng giống như bạn có thể làm với NumPy, bạn có thể cung cấp các lát cùng với danh sách hoặc mảng thay vì chỉ số để có nhiều hàng hoặc cột:

>>>

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
9

Lưu ý: Không sử dụng bộ giá trị thay vì danh sách hoặc mảng số nguyên để lấy các hàng hoặc cột thông thường. Tuples được dành riêng để  và Pandas, cũng như lập chỉ mục phân cấp hoặc đa cấp trong Pandas .

Trong ví dụ này, bạn sử dụng:

  • Lát để lấy các hàng có nhãn 
    >>> df = pd.DataFrame[data=data, index=row_labels]
    >>> df
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    103    Jana       Prague   33      81.0
    104      Yi     Shanghai   34      80.0
    105   Robin   Manchester   38      68.0
    106    Amal        Cairo   31      61.0
    107    Nori        Osaka   37      84.0
    
    54thông qua 
    >>> df = pd.DataFrame[data=data, index=row_labels]
    >>> df
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    103    Jana       Prague   33      81.0
    104      Yi     Shanghai   34      80.0
    105   Robin   Manchester   38      68.0
    106    Amal        Cairo   31      61.0
    107    Nori        Osaka   37      84.0
    
    55, tương đương với các chỉ số 
    >>> df = pd.DataFrame[data=data, index=row_labels]
    >>> df
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    103    Jana       Prague   33      81.0
    104      Yi     Shanghai   34      80.0
    105   Robin   Manchester   38      68.0
    106    Amal        Cairo   31      61.0
    107    Nori        Osaka   37      84.0
    
    20thông qua
    >>> df = pd.DataFrame[data=data, index=row_labels]
    >>> df
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    103    Jana       Prague   33      81.0
    104      Yi     Shanghai   34      80.0
    105   Robin   Manchester   38      68.0
    106    Amal        Cairo   31      61.0
    107    Nori        Osaka   37      84.0
    
    57
  • Liệt kê để lấy các cột 
    >>> df.loc[103]
    name          Jana
    city        Prague
    age             33
    py-score        81
    Name: 103, dtype: object
    
    4và 
    >>> df.loc[103]
    name          Jana
    city        Prague
    age             33
    py-score        81
    Name: 103, dtype: object
    
    5tương đương với các chỉ số 
    >>> df = pd.DataFrame[data=data, index=row_labels]
    >>> df
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    103    Jana       Prague   33      81.0
    104      Yi     Shanghai   34      80.0
    105   Robin   Manchester   38      68.0
    106    Amal        Cairo   31      61.0
    107    Nori        Osaka   37      84.0
    
    40và
    >>> df = pd.DataFrame[data=data, index=row_labels]
    >>> df
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    103    Jana       Prague   33      81.0
    104      Yi     Shanghai   34      80.0
    105   Robin   Manchester   38      68.0
    106    Amal        Cairo   31      61.0
    107    Nori        Osaka   37      84.0
    
    20

Cả hai câu lệnh đều trả về một Pandas DataFrame với giao của năm hàng và hai cột mong muốn.

Điều này dẫn đến sự khác biệt rất quan trọng giữa 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
45và 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
36. Như bạn có thể nhìn thấy từ ví dụ trước, khi bạn vượt qua các nhãn hàng 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
64để 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
45, bạn sẽ có được các hàng 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
54thông qua 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
55. Tuy nhiên, khi bạn chuyển chỉ số hàng 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
68đến 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
36, bạn chỉ nhận được các hàng có chỉ số 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
20đi qua 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
57.

Lý do bạn chỉ nhận được các chỉ số 

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
20thông qua 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
57là, với 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
36, chỉ số dừng của một lát cắt là độc quyền , có nghĩa là nó bị loại trừ khỏi các giá trị trả về. Điều này phù hợp với  và mảng NumPy. Với 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
45Tuy nhiên, cả hai bắt đầu và dừng lại chỉ số là bao gồm , có nghĩa là họ được bao gồm với các giá trị trả lại.

Bạn có thể bỏ qua các hàng và cột 

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
36theo cách tương tự với cách cắt các bộ giá trị, danh sách và mảng NumPy:

>>>

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
0

Trong ví dụ này, bạn chỉ định các chỉ số hàng mong muốn với lát cắt 

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
77. Điều này có nghĩa là bạn bắt đầu với hàng có chỉ mục 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
20[hàng thứ hai], dừng lại trước hàng có chỉ mục 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
79[hàng thứ bảy] và bỏ qua mọi hàng thứ hai.

Thay vì sử dụng cấu trúc cắt, bạn cũng có thể sử dụng lớp Python được tích hợp sẵn , cũng như 

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
81hoặc 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
82:

>>>

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
1

Bạn có thể thấy một trong những cách tiếp cận này thuận tiện hơn những cách khác tùy thuộc vào tình huống của bạn.

Có thể sử dụng 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
45và 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
36lấy các giá trị dữ liệu cụ thể. Tuy nhiên, khi bạn chỉ cần một giá trị duy nhất, Pandas khuyên bạn nên sử dụng các trình truy cập chuyên dụng 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
44và 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
45:

>>>

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
2

Ở đây, bạn đã sử dụng 

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
44để lấy tên của một ứng cử viên bằng cách sử dụng các nhãn cột và hàng tương ứng của nó. Bạn cũng đã sử dụng 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
45để truy xuất cùng một tên bằng cách sử dụng các chỉ số cột và hàng của nó.

Thiết lập dữ liệu với trình truy cập

Bạn có thể sử dụng trình truy cập để sửa đổi các phần của Pandas DataFrame bằng cách chuyển một chuỗi Python, mảng NumPy hoặc giá trị đơn lẻ:

>>>

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
3

Câu lệnh 

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
89sửa đổi bốn mục đầu tiên [từ hàng 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
77đến 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
91] trong cột 
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
3bằng cách sử dụng các giá trị từ danh sách được cung cấp của bạn. Sử dụng 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
93đặt các giá trị còn lại trong cột này thành 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
40.

Ví dụ sau cho thấy rằng bạn có thể sử dụng các chỉ số phủ định 

>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
36để truy cập hoặc sửa đổi dữ liệu:

>>>

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
4

Trong ví dụ này, bạn đã truy cập và sửa đổi cột cuối cùng [ 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
25], tương ứng với chỉ mục cột số nguyên 
>>> df = pd.DataFrame[data=data, index=row_labels]
>>> df
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0
103    Jana       Prague   33      81.0
104      Yi     Shanghai   34      80.0
105   Robin   Manchester   38      68.0
106    Amal        Cairo   31      61.0
107    Nori        Osaka   37      84.0
97. Hành vi này phù hợp với chuỗi Python và mảng NumPy.

Chèn và Xóa dữ liệu

Pandas cung cấp một số kỹ thuật tiện lợi để chèn và xóa hàng hoặc cột. Bạn có thể chọn trong số họ dựa trên tình hình và nhu cầu của bạn.

Chèn và xóa hàng

Hãy tưởng tượng bạn muốn thêm một người mới vào danh sách ứng viên tuyển dụng của mình. Bạn có thể bắt đầu bằng cách tạo một 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
20đối tượng mới đại diện cho ứng cử viên mới này:

>>>

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
5

Đối tượng mới có các nhãn tương ứng với các nhãn cột từ 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
29. Đó là lý do tại sao bạn cần 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
00.

Bạn có thể thêm 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
01dưới dạng một hàng mới vào cuối 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
29bằng 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
03:

>>>

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
6

Tại đây, 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
03trả về Pandas DataFrame với hàng mới được thêm vào. Lưu ý cách Pandas sử dụng thuộc tính 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
05, là giá trị 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
06, để chỉ định nhãn cho hàng mới.

Bạn đã thêm một hàng mới với một lệnh gọi đến 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
03và bạn có thể xóa hàng đó bằng một lệnh gọi tới 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
08:

>>>

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
7

Tại đây, 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
08xóa các hàng được chỉ định với tham số 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
10. Theo mặc định, nó trả về Pandas DataFrame với các hàng được chỉ định đã bị xóa. Nếu bạn vượt qua 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
11, thì DataFrame ban đầu sẽ được sửa đổi và bạn sẽ nhận được 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
89dưới dạng giá trị trả về.

Chèn và Xóa các Cột

Cách đơn giản nhất để chèn một cột trong Pandas DataFrame là làm theo cùng một quy trình mà bạn sử dụng khi  . Đây là cách bạn có thể thêm một cột chứa điểm của ứng viên của bạn trong một bài kiểm tra  :

>>>

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
8

Bây giờ DataFrame ban đầu có thêm một cột 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
13, ở cuối.

Bạn không cần phải cung cấp một chuỗi giá trị đầy đủ. Bạn có thể thêm một cột mới với một giá trị duy nhất:

>>>

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
9

DataFrame 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
29hiện có một cột bổ sung chứa các số không.

Nếu bạn đã sử dụng từ điển trước đây, thì cách chèn cột này có thể quen thuộc với bạn. Tuy nhiên, nó không cho phép bạn chỉ định vị trí của cột mới. Nếu vị trí của cột mới là quan trọng, thì bạn có thể sử dụng 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
15thay thế:

>>>

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
0

Bạn vừa chèn một cột khác có điểm của bài kiểm tra Django . Tham số 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
16xác định vị trí hoặc chỉ mục dựa trên 0 của cột mới trong Pandas DataFrame. 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
17đặt nhãn của cột mới và 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
18chỉ định các giá trị dữ liệu để chèn.

Bạn có thể xóa một hoặc nhiều cột khỏi Pandas DataFrame giống như cách bạn làm với từ điển Python thông thường, bằng cách sử dụng  :

>>>

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
1

Bây giờ bạn có 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
29mà không có cột 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
21. Một điểm tương đồng khác với từ điển là khả năng sử dụng 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
22, loại bỏ cột được chỉ định và trả lại cột đó. Điều đó có nghĩa là bạn có thể làm điều gì đó giống như 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
23thay vì sử dụng 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
19.

Bạn cũng có thể xóa một hoặc nhiều cột 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
08như bạn đã làm trước đó với các hàng. Một lần nữa, bạn cần chỉ định nhãn của các cột mong muốn với 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
10. Ngoài ra, khi bạn muốn loại bỏ các cột, bạn cần cung cấp đối số 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
27:

>>>

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
2

Bạn đã xóa cột 

>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
6khỏi DataFrame của mình.

Theo mặc định, 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
08trả về DataFrame không có các cột được chỉ định trừ khi bạn vượt qua 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
11.

Áp dụng các phép toán số học

Bạn có thể áp dụng các phép toán số học cơ bản như cộng, trừ, nhân và chia cho Pandas 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
20và 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
19các đối tượng  :

>>>

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
3

Bạn có thể sử dụng kỹ thuật này để chèn một cột mới vào Pandas DataFrame. Ví dụ: hãy thử tính 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
33điểm dưới dạng kết hợp tuyến tính của điểm Python, Django và JavaScript của ứng viên của bạn:

>>>

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
4

Bây giờ DataFrame của bạn có một cột với 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
33điểm được tính từ điểm kiểm tra cá nhân của ứng viên của bạn. Tuyệt vời hơn nữa, bạn đã đạt được điều đó chỉ với một câu nói duy nhất!

Áp dụng các hàm NumPy và SciPy

Hầu hết các quy trình NumPy và SciPy có thể được áp dụng cho Pandas 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
20hoặc 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
19đối tượng dưới dạng đối số thay vì dưới dạng mảng NumPy. Để minh họa điều này, bạn có thể tính toán tổng điểm kiểm tra của các ứng viên bằng cách sử dụng quy trình NumPy 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
37.

Thay vì chuyển một mảng NumPy sang 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
37, bạn sẽ chuyển một phần của Pandas DataFrame của mình:

>>>

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
5

Hiện 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
39tại, biến này đề cập đến DataFrame với điểm số Python, Django và JavaScript. Bạn có thể sử dụng 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
39làm đối số 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
37và lấy kết hợp tuyến tính của các cột với trọng số được chỉ định.

Nhưng đó không phải là tất cả! Bạn có thể sử dụng mảng NumPy được trả về 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
42như một cột mới của 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
29. Trước tiên, xóa cột hiện có 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
33khỏi 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
29, sau đó nối cột mới bằng cách sử dụng 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
42:

>>>

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
6

Kết quả tương tự như trong ví dụ trước, nhưng ở đây bạn đã sử dụng hàm NumPy hiện có thay vì viết mã của riêng bạn.

Sắp xếp dữ liệu gấu trúc

Bạn có thể sắp xếp một Pandas DataFrame với 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
47:

>>>

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
7

Ví dụ này sắp xếp DataFrame của bạn theo các giá trị trong cột 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
13. Tham số 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
49đặt nhãn của hàng hoặc cột để sắp xếp theo. 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
50chỉ định xem bạn muốn sắp xếp theo thứ tự tăng dần [ 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
92] hay giảm dần [ 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
62], thứ tự sau là cài đặt mặc định. Bạn có thể vượt qua 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
53để chọn nếu bạn muốn sắp xếp hàng [ 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
54] hoặc cột [ 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
27].

Nếu bạn muốn sắp xếp theo nhiều cột, thì chỉ cần chuyển danh sách làm đối số cho 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
49và 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
50:

>>>

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
8

Trong trường hợp này, DataFrame được sắp xếp theo cột 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
33, nhưng nếu hai giá trị giống nhau, thì thứ tự của chúng được xác định bởi các giá trị từ cột 
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
3.

Tham số tùy chọn 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
60cũng có thể được sử dụng với 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
47. Nó được đặt thành 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
62theo mặc định, đảm bảo 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
47trả về một Pandas DataFrame mới. Khi bạn đặt 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
11, DataFrame hiện có sẽ được sửa đổi và 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
47sẽ trở lại 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
89.

Nếu bạn đã từng cố gắng sắp xếp các giá trị trong Excel , thì bạn có thể thấy cách tiếp cận Pandas hiệu quả và tiện lợi hơn nhiều. Khi bạn có một lượng lớn dữ liệu, Pandas có thể vượt trội hơn đáng kể so với Excel.

Để biết thêm thông tin về cách sắp xếp trong Gấu trúc, hãy xem Sắp xếp theo gấu trúc: Hướng dẫn sắp xếp dữ liệu bằng Python của bạn .

Lọc dữ liệu

Lọc dữ liệu là một tính năng mạnh mẽ khác của Pandas. Nó hoạt động tương tự như  .

Nếu bạn áp dụng một số hoạt động logic trên một 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
20đối tượng, thì bạn sẽ nhận được một Chuỗi khác với các giá trị Boolean 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
92và 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
62:

>>>

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
9

Trong trường hợp này, 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
70trả về 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
92cho những hàng có điểm Django lớn hơn hoặc bằng 80. Nó trả về 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
62cho những hàng có điểm Django nhỏ hơn 80.

Bây giờ bạn có Chuỗi 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
73chứa đầy dữ liệu Boolean. Biểu thức 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
74trả về một Pandas DataFrame với các hàng từ 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
29đó tương ứng với 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
92trong 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
73:

>>>

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
0

Như bạn có thể thấy, 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
78, 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
79, 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
80, và 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
81là 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
92, do đó 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
74chứa các hàng với các nhãn này. Mặt khác, 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
84, 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
85, và 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
86là 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
62, vì vậy các hàng tương ứng không xuất hiện trong 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
74.

Bạn có thể tạo các biểu thức rất mạnh mẽ và phức tạp bằng cách kết hợp các phép toán logic với các toán tử sau:

  • >>> df.head[n=2]
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    
    >>> df.tail[n=2]
         name   city  age  py-score
    106  Amal  Cairo   31      61.0
    107  Nori  Osaka   37      84.0
    
    89[ 
    >>> df.head[n=2]
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    
    >>> df.tail[n=2]
         name   city  age  py-score
    106  Amal  Cairo   31      61.0
    107  Nori  Osaka   37      84.0
    
    90]
  • >>> df.head[n=2]
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    
    >>> df.tail[n=2]
         name   city  age  py-score
    106  Amal  Cairo   31      61.0
    107  Nori  Osaka   37      84.0
    
    91[ 
    >>> df.head[n=2]
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    
    >>> df.tail[n=2]
         name   city  age  py-score
    106  Amal  Cairo   31      61.0
    107  Nori  Osaka   37      84.0
    
    92]
  • >>> df.head[n=2]
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    
    >>> df.tail[n=2]
         name   city  age  py-score
    106  Amal  Cairo   31      61.0
    107  Nori  Osaka   37      84.0
    
    93[ 
    >>> df.head[n=2]
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    
    >>> df.tail[n=2]
         name   city  age  py-score
    106  Amal  Cairo   31      61.0
    107  Nori  Osaka   37      84.0
    
    94]
  • >>> df.head[n=2]
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    
    >>> df.tail[n=2]
         name   city  age  py-score
    106  Amal  Cairo   31      61.0
    107  Nori  Osaka   37      84.0
    
    95[ 
    >>> df.head[n=2]
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    
    >>> df.tail[n=2]
         name   city  age  py-score
    106  Amal  Cairo   31      61.0
    107  Nori  Osaka   37      84.0
    
    96]

Ví dụ: bạn có thể nhận được DataFrame với các ứng viên có 

>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
3và 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
13lớn hơn hoặc bằng 80:

>>>

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
1

Biểu thức 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
99trả về một Chuỗi có 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
92trong các hàng có cả hai 
>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
3và 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
13lớn hơn hoặc bằng 80 và 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
62các hàng khác. Trong trường hợp này, chỉ các hàng có nhãn 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
04và 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
78thỏa mãn cả hai điều kiện.

Bạn cũng có thể áp dụng  thay vì các toán tử.

Đối với một số thao tác yêu cầu lọc dữ liệu, sẽ thuận tiện hơn khi sử dụng 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
06. Nó thay thế các giá trị ở các vị trí mà điều kiện đã cung cấp không được thỏa mãn:

>>>

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
2

Trong ví dụ này, điều kiện là 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
70. Các giá trị của DataFrame hoặc Chuỗi 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
06sẽ được giữ nguyên khi có điều kiện 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
92và sẽ được thay thế bằng giá trị của 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
10[trong trường hợp này 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
11] khi có điều kiện 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
62.

Xác định thống kê dữ liệu

Pandas cung cấp nhiều  cho DataFrames. Bạn có thể nhận thống kê cơ bản cho các cột số của Pandas DataFrame với 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
13:

>>>

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
3

Tại đây, 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
13trả về một DataFrame mới với số hàng được chỉ định bởi 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
15, cũng như giá trị trung bình, độ lệch chuẩn, tối thiểu, tối đa và phần tư của các cột.

Nếu bạn muốn nhận thống kê cụ thể cho một số hoặc tất cả các cột của mình, thì bạn có thể gọi các phương thức như 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
16hoặc 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
17:

>>>

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
4

Khi được áp dụng cho Pandas DataFrame, các phương pháp này trả về Chuỗi với kết quả cho mỗi cột. Khi được áp dụng cho một 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
20đối tượng hoặc một cột của DataFrame, các phương thức này sẽ trả về giá trị vô hướng .

Để tìm hiểu thêm về tính toán thống kê với Gấu trúc, hãy xem Thống kê mô tả với Python và NumPy, SciPy và Pandas: Tương quan với Python .

Xử lý dữ liệu bị thiếu

Dữ liệu bị thiếu là rất phổ biến trong khoa học dữ liệu và học máy. Nhưng đừng bao giờ sợ hãi! Pandas có các tính năng rất mạnh để làm việc với dữ liệu bị thiếu. Trên thực tế, tài liệu của nó có toàn bộ phần dành riêng để làm việc với dữ liệu bị thiếu .

Gấu trúc thường đại diện cho dữ liệu bị thiếu bằng giá trị NaN [không phải số] . Trong Python, bạn có thể nhận NaN với , hoặc . Bắt đầu với Pandas 1.0, loại mới thích 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
96, 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
23, 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
24, 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
25, và 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
26sử dụng 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
27như một giá trị bị mất tích.

Dưới đây là ví dụ về Pandas DataFrame bị thiếu giá trị:

>>>

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
5

Biến 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
64tham chiếu đến DataFrame với một cột 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
58và bốn giá trị. Giá trị thứ ba 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
30được coi là bị thiếu theo mặc định.

Tính toán với dữ liệu bị thiếu

Nhiều phương thức Pandas bỏ qua 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
30các giá trị khi thực hiện tính toán trừ khi chúng được hướng dẫn rõ ràng là không :

>>>

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
6

Trong ví dụ đầu tiên, 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
32tính giá trị trung bình mà không tính đến 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
33[giá trị thứ ba]. Nó chỉ mất 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
34, 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
35và 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
36và trả trung bình của họ, đó là 2,33.

Tuy nhiên, nếu bạn hướng dẫn 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
16không bỏ qua 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
30các giá trị với 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
39, thì nó sẽ xem xét chúng và trả về 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
30nếu có bất kỳ giá trị nào bị thiếu trong số dữ liệu.

Làm đầy dữ liệu bị thiếu

Pandas có một số tùy chọn để điền hoặc thay thế các giá trị bị thiếu bằng các giá trị khác. Một trong những phương pháp thuận tiện nhất là 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
41. Bạn có thể sử dụng nó để thay thế các giá trị bị thiếu bằng:

  • Các giá trị được chỉ định
  • Các giá trị trên giá trị bị thiếu
  • Các giá trị dưới giá trị bị thiếu

Đây là cách bạn có thể áp dụng các tùy chọn được đề cập ở trên:

>>>

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
7

Trong ví dụ đầu tiên, hãy 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
42thay thế giá trị bị thiếu bằng 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
11mà bạn đã chỉ định 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
18. Trong ví dụ thứ hai, 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
45thay thế giá trị bị thiếu bằng giá trị ở trên nó, giá trị này 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
35. Trong ví dụ thứ ba, 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
47sử dụng giá trị bên dưới giá trị bị thiếu, đó là 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
36.

Một lựa chọn phổ biến khác là áp dụng phép nội suy và thay thế các giá trị bị thiếu bằng các giá trị được nội suy. Bạn có thể làm điều này với 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
49:

>>>

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
8

Như bạn có thể thấy, hãy 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
49thay thế giá trị bị thiếu bằng một giá trị nội suy.

Bạn cũng có thể sử dụng tham số tùy chọn 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
60với 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
41. Làm như vậy sẽ:

  • Tạo và trả về DataFrame mới khi 
    >>> cities = df['city']
    >>> cities
    101    Mexico City
    102        Toronto
    103         Prague
    104       Shanghai
    105     Manchester
    106          Cairo
    107          Osaka
    Name: city, dtype: object
    
    53
  • Sửa đổi DataFrame hiện có và trả lại 
    >>> data = {
    ...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
    ...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
    ...              'Manchester', 'Cairo', 'Osaka'],
    ...     'age': [41, 28, 33, 34, 38, 31, 37],
    ...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
    ... }
    
    >>> row_labels = [101, 102, 103, 104, 105, 106, 107]
    
    89khi
    >>> df.head[n=2]
           name         city  age  py-score
    101  Xavier  Mexico City   41      88.0
    102     Ann      Toronto   28      79.0
    
    >>> df.tail[n=2]
         name   city  age  py-score
    106  Amal  Cairo   31      61.0
    107  Nori  Osaka   37      84.0
    
    11

Cài đặt mặc định cho 

>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
60là 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
62. Tuy nhiên, 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
11có thể rất hữu ích khi bạn đang làm việc với một lượng lớn dữ liệu và muốn ngăn việc sao chép không cần thiết và không hiệu quả.

Xóa hàng và cột có dữ liệu bị thiếu

Trong một số trường hợp nhất định, bạn có thể muốn xóa các hàng hoặc thậm chí các cột có giá trị bị thiếu. Bạn có thể làm điều này với 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
59:

>>>

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
9

Trong trường hợp này, 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
59chỉ cần xóa hàng có 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
30, bao gồm cả nhãn của hàng đó. Nó cũng có tham số tùy chọn 
>>> df.head[n=2]
       name         city  age  py-score
101  Xavier  Mexico City   41      88.0
102     Ann      Toronto   28      79.0

>>> df.tail[n=2]
     name   city  age  py-score
106  Amal  Cairo   31      61.0
107  Nori  Osaka   37      84.0
60, hoạt động giống như với 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
41và 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
49.

Lặp lại trên một dữ liệu gấu trúc

Như bạn đã học trước đó, các nhãn hàng và cột của DataFrame có thể được truy xuất dưới dạng chuỗi với 

>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
74và 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
75. Bạn có thể sử dụng tính năng này để lặp lại các nhãn và lấy hoặc đặt các giá trị dữ liệu. Tuy nhiên, Pandas cung cấp một số phương pháp thuận tiện hơn để lặp lại:

  • >>> cities = df['city']
    >>> cities
    101    Mexico City
    102        Toronto
    103         Prague
    104       Shanghai
    105     Manchester
    106          Cairo
    107          Osaka
    Name: city, dtype: object
    
    67 để lặp qua các cột
  • >>> cities = df['city']
    >>> cities
    101    Mexico City
    102        Toronto
    103         Prague
    104       Shanghai
    105     Manchester
    106          Cairo
    107          Osaka
    Name: city, dtype: object
    
    68 để lặp qua các cột
  • >>> cities = df['city']
    >>> cities
    101    Mexico City
    102        Toronto
    103         Prague
    104       Shanghai
    105     Manchester
    106          Cairo
    107          Osaka
    Name: city, dtype: object
    
    69 để lặp qua các hàng
  • >>> cities = df['city']
    >>> cities
    101    Mexico City
    102        Toronto
    103         Prague
    104       Shanghai
    105     Manchester
    106          Cairo
    107          Osaka
    Name: city, dtype: object
    
    70để lặp qua các hàng và nhận các  được 

Với 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
67và 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
68, bạn lặp qua các cột của Pandas DataFrame. Mỗi lần lặp tạo ra một bộ dữ liệu với tên của cột và dữ liệu cột dưới dạng một 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
20đối tượng:

>>>

>>> cities[102]
'Toronto'
0

Đó là cách bạn sử dụng 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
67và 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
68.

Với 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
69, bạn lặp lại các hàng của Pandas DataFrame. Mỗi lần lặp tạo ra một bộ giá trị với tên của hàng và dữ liệu hàng dưới dạng một 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
20đối tượng:

>>>

>>> cities[102]
'Toronto'
1

Đó là cách bạn sử dụng 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
69.

Tương tự, 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
70lặp qua các hàng và trong mỗi lần lặp lại tạo ra một bộ được đặt tên với [tùy chọn] chỉ mục và dữ liệu:

>>>

>>> cities[102]
'Toronto'
2

Bạn có thể chỉ định tên của tuple đã đặt tên với tham số 

>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
4được đặt thành 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
81theo mặc định. Bạn cũng có thể chỉ định xem có bao gồm các nhãn hàng hay không 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
52, được đặt thành 
>>> data = {
...     'name': ['Xavier', 'Ann', 'Jana', 'Yi', 'Robin', 'Amal', 'Nori'],
...     'city': ['Mexico City', 'Toronto', 'Prague', 'Shanghai',
...              'Manchester', 'Cairo', 'Osaka'],
...     'age': [41, 28, 33, 34, 38, 31, 37],
...     'py-score': [88.0, 79.0, 81.0, 80.0, 68.0, 61.0, 84.0]
... }

>>> row_labels = [101, 102, 103, 104, 105, 106, 107]
92theo mặc định.

Làm việc với chuỗi thời gian

Gấu trúc vượt trội trong việc xử lý chuỗi thời gian . Mặc dù chức năng này một phần dựa trên lịch ngày và thời gian của NumPy , nhưng Pandas cung cấp tính linh hoạt hơn nhiều.

Tạo DataFrames với nhãn chuỗi thời gian

Trong phần này, bạn sẽ tạo Pandas DataFrame bằng cách sử dụng dữ liệu nhiệt độ hàng giờ của một ngày.

Bạn có thể bắt đầu bằng cách tạo một danh sách [hoặc bộ, mảng NumPy hoặc kiểu dữ liệu khác] với các giá trị dữ liệu, sẽ là nhiệt độ hàng giờ được tính bằng độ C :

>>>

>>> cities[102]
'Toronto'
3

Bây giờ bạn có biến 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
84, tham chiếu đến danh sách các giá trị nhiệt độ.

Bước tiếp theo là tạo một chuỗi ngày và giờ. Pandas cung cấp một chức năng rất tiện lợi 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
85, cho mục đích này:

>>>

>>> cities[102]
'Toronto'
4

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
85chấp nhận các đối số mà bạn sử dụng để chỉ định bắt đầu hoặc kết thúc phạm vi, số khoảng thời gian, tần suất, múi giờ và hơn thế nữa.

Lưu ý: Mặc dù có các tùy chọn khác, nhưng Pandas chủ yếu sử dụng định dạng ngày và giờ ISO 8601 theo mặc định.

Bây giờ bạn đã có các giá trị nhiệt độ và ngày giờ tương ứng, bạn có thể tạo DataFrame. Trong nhiều trường hợp, thật tiện lợi khi sử dụng các giá trị ngày-giờ làm nhãn hàng:

>>>

>>> cities[102]
'Toronto'
5

Đó là nó! Bạn đã tạo DataFrame với dữ liệu chuỗi thời gian và chỉ số hàng ngày-giờ.

Lập chỉ mục và cắt lát

Khi bạn đã có Pandas DataFrame với dữ liệu chuỗi thời gian, bạn có thể áp dụng phương pháp cắt để chỉ lấy một phần thông tin một cách thuận tiện:

>>>

>>> cities[102]
'Toronto'
6

Ví dụ này cho thấy cách trích xuất nhiệt độ từ 05:00 đến 14:00 [5 giờ sáng và 2 giờ chiều]. Mặc dù bạn đã cung cấp các chuỗi, nhưng Pandas biết rằng các nhãn hàng của bạn là các giá trị ngày-giờ và diễn giải các chuỗi dưới dạng ngày và giờ.

Lấy mẫu lại và cán

Bạn vừa thấy cách kết hợp các nhãn hàng ngày-giờ và sử dụng phương pháp cắt để lấy thông tin bạn cần từ dữ liệu chuỗi thời gian. Điều này chỉ là khởi đầu. Nó trở nên tốt hơn!

Nếu bạn muốn chia một ngày thành bốn khoảng thời gian sáu giờ và nhận được nhiệt độ trung bình cho mỗi khoảng thời gian, thì bạn chỉ cần thực hiện một tuyên bố. Pandas cung cấp phương pháp 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
87mà bạn có thể kết hợp với các phương pháp khác như 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
16:

>>>

>>> cities[102]
'Toronto'
7

Bây giờ bạn có một Pandas DataFrame mới với bốn hàng. Mỗi hàng tương ứng với một khoảng thời gian sáu giờ. Ví dụ: giá trị 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
89là giá trị trung bình của sáu nhiệt độ đầu tiên từ DataFrame 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
90, trong khi giá trị là giá trị trung bình của sáu nhiệt độ 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
91cuối cùng.

Thay vào đó 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
16, bạn có thể áp dụng 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
93hoặc 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
94để lấy nhiệt độ tối thiểu và tối đa cho mỗi khoảng thời gian. Bạn cũng có thể sử dụng 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
95để lấy tổng giá trị dữ liệu, mặc dù thông tin này có thể không hữu ích khi bạn đang làm việc với nhiệt độ.

Bạn cũng có thể cần thực hiện một số phân tích cửa sổ luân phiên . Điều này liên quan đến việc tính toán thống kê cho một số hàng liền kề được chỉ định, tạo nên cửa sổ dữ liệu của bạn. Bạn có thể "cuộn" cửa sổ bằng cách chọn một tập hợp các hàng liền kề khác nhau để thực hiện các phép tính của mình.

Cửa sổ đầu tiên của bạn bắt đầu với hàng đầu tiên trong DataFrame của bạn và bao gồm nhiều hàng liền kề như bạn chỉ định. Sau đó, bạn di chuyển cửa sổ của mình xuống một hàng, bỏ hàng đầu tiên và thêm hàng đến ngay sau hàng cuối cùng và tính toán lại cùng một thống kê. Bạn lặp lại quá trình này cho đến khi bạn đến hàng cuối cùng của DataFrame.

Pandas cung cấp phương pháp 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
96cho mục đích này:

>>>

>>> cities[102]
'Toronto'
8

Bây giờ bạn có DataFrame với nhiệt độ trung bình được tính toán cho một số cửa sổ ba giờ. Tham số 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
97chỉ định kích thước của cửa sổ thời gian di chuyển.

Trong ví dụ trên, giá trị thứ ba [ 

>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
98] là nhiệt độ trung bình trong ba giờ đầu tiên [ 
>>> cities = df['city']
>>> cities
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
99, 
>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
00và 
>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
01]. Giá trị thứ tư là nhiệt độ trung bình cho giờ 
>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
01, 
>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
03và 
>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
04. Giá trị cuối cùng là nhiệt độ trung bình trong ba giờ qua, 
>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
05, 
>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
06, và 
>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
07. Hai giá trị đầu tiên bị thiếu vì không có đủ dữ liệu để tính toán chúng.

Lập kế hoạch với dữ liệu gấu trúc

Pandas cho phép bạn trực quan hóa dữ liệu hoặc tạo các lô dựa trên DataFrames . Nó sử dụng Matplotlib ở chế độ nền, vì vậy việc khai thác khả năng âm mưu của Pandas rất giống với làm việc với Matplotlib .

Nếu bạn muốn hiển thị các ô, thì trước tiên bạn cần nhập 

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
08:

>>>

>>> cities[102]
'Toronto'
9

Bây giờ bạn có thể sử dụng 

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
09để tạo cốt truyện và 
>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
10hiển thị nó:

>>>

>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
0

Bây giờ 

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
11trả về một 
>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
12đối tượng trông giống như sau:

Bạn cũng có thể áp dụng và nhận được kết quả tương tự. Cả hai 

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
11và 
>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
13có nhiều tham số tùy chọn mà bạn có thể sử dụng để chỉ định giao diện của âm mưu của bạn. Một số trong số chúng được chuyển trực tiếp đến các phương thức Matplotlib cơ bản.

Bạn có thể lưu hình của mình bằng cách xâu chuỗi các phương pháp 

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
16và :

>>>

>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
1

Câu lệnh này tạo cốt truyện và lưu nó dưới dạng tệp được gọi 

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
18trong thư mục làm việc của bạn.

Bạn có thể lấy  bằng Pandas DataFrame. Ví dụ: bạn có thể hình dung dữ liệu ứng viên công việc của mình từ trước đó dưới dạng biểu đồ với 

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
19:

>>>

>>> df.loc[103]
name          Jana
city        Prague
age             33
py-score        81
Name: 103, dtype: object
2

Trong ví dụ này, bạn trích xuất dữ liệu điểm và tổng điểm của bài kiểm tra Python và trực quan hóa nó bằng biểu đồ. Cốt truyện kết quả trông như thế này:

Đây chỉ là cái nhìn cơ bản. Bạn có thể điều chỉnh chi tiết với các thông số tùy chọn bao gồm 

>>> df.city
101    Mexico City
102        Toronto
103         Prague
104       Shanghai
105     Manchester
106          Cairo
107          Osaka
Name: city, dtype: object
19,  , và nhiều thông số khác. Bạn có thể tìm thấy những lời giải thích chi tiết trong Anatomy of Matplotlib .

Đọc thêm

Pandas DataFrames là các đối tượng rất toàn diện hỗ trợ nhiều thao tác không được đề cập trong hướng dẫn này. Một số trong số này bao gồm:

  • Phân nhóm
  • Hợp nhất, nối và nối
  • Làm việc với dữ liệu phân loại

Các quan chức Pandas hướng dẫn tóm tắt một số các tùy chọn có sẵn độc đáo. Nếu bạn muốn tìm hiểu thêm về Pandas và DataFrames , thì bạn có thể xem các hướng dẫn sau:

  • Làm sạch dữ liệu Pythonic với gấu trúc và NumPy
  • Pandas DataFrames 101
  • Giới thiệu về Gấu trúc và Vincent
  • Gấu trúc Python: Thủ thuật & Tính năng có thể bạn chưa biết
  • Gấu trúc thành ngữ: Thủ thuật & tính năng có thể bạn chưa biết
  • Đọc CSV với gấu trúc
  • Viết CSV với gấu trúc
  • Đọc và ghi tệp CSV bằng Python
  • Đọc và ghi tệp CSV
  • Sử dụng gấu trúc để đọc tệp Excel lớn bằng Python
  • Nhanh chóng, linh hoạt, dễ dàng và trực quan: Cách tăng tốc dự án gấu trúc của bạn

Bạn đã biết rằng Pandas DataFrames xử lý dữ liệu hai chiều. Nếu bạn cần làm việc với dữ liệu được gắn nhãn trong nhiều hơn hai chiều, bạn có thể xem xarray , một thư viện Python mạnh mẽ khác dành cho khoa học dữ liệu với các tính năng rất giống với Pandas.

Nếu bạn làm việc với dữ liệu lớn và muốn có trải nghiệm giống như DataFrame, thì bạn có thể cho Dask một cơ hội và sử dụng API DataFrame của nó . Một Dask DataFrame chứa nhiều Pandas DataFrame và thực hiện tính toán một cách lười biếng .

Phần kết luận

Bây giờ bạn đã biết Pandas DataFrame là gì, một số tính năng của nó và cách bạn có thể sử dụng nó để làm việc với dữ liệu một cách hiệu quả. Pandas DataFrames là cấu trúc dữ liệu mạnh mẽ, thân thiện với người dùng mà bạn có thể sử dụng để hiểu sâu hơn về tập dữ liệu của mình!

Trong hướng dẫn này, bạn đã học được:

  • Pandas DataFrame là gì và cách tạo một Pandas DataFrame
  • Cách truy cập, sửa đổi, thêm, sắp xếp, lọc và xóa dữ liệu
  • Cách sử dụng quy trình NumPy với DataFrames
  • Cách xử lý các giá trị bị thiếu
  • Cách làm việc với dữ liệu chuỗi thời gian
  • Cách trực quan hóa dữ liệu có trong DataFrames

Bạn đã học đủ để bao quát các nguyên tắc cơ bản của DataFrames. Nếu bạn muốn tìm hiểu sâu hơn về cách làm việc với dữ liệu bằng Python , hãy xem toàn bộ các hướng dẫn về Gấu trúc .

Chủ Đề