Ví dụ pandas to_html

Pandas DataFrame là một cấu trúc chứa hai chiều dữ liệu và các nhãn tương ứng của nó. DataFrames được sử dụng rộng rãi trong khoa học dữ liệu, học máy, tính toán 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 đang làm 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à NumPy. Trong bài hướng dẫn này, chúng ta sẽ học

  • Pandas DataFrame là gì và cách khởi động
  • Làm thế nào để 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

Started any. Đi nào

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 không gian 2 chiều bao gồm hàng và cột
  • Các nhãn tương ứng với 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

Python:
>>> import pandas as pd

Hãy tưởng tượng bạn đang sử dụng Pandas để phân tích dữ liệu về các thành viên ứng dụng 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 số của ứng viên trong bài kiểm tra lập trình Python hoặc điểm số py-score


namecityagepy-core1Nam TranHCM city1882. 02Huy NguyenHà Nội1979. 03 Minh Huy Tp.Hà Nội 2389. 04Lâm LễThành phố Đà Nẵng1796. 05 Đạt Nguyễn Tp.HCM 2294. 0

Trong bảng này, hàng đầu tiên chứa các cột đánh dấu (tên, thành phố, tuổi và điểm số). Cột đầu tiên chứa các hàng nhãn (1, 2, v. v. ). Tất cả các ô khác nhau được điền vớ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 tạo DataFrame 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ó thể chuyển nó dưới dạng từ điển hoặc phiên bản Pandas Series hoặc dưới dạng một số kiểu dữ liệu khác không được cập nhật trong hướng dẫn này

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

>>> data = {
    'name': ['Nam Tran', 'Huy Nguyen', 'Minh Huy', 'Lam Le', 'Dat Nguyen'],
    'city': ['HCM city', 'Ha Noi city', 'Ha Noi city', 'Da Nang city', 'HCM city'],
    'age': [18, 19, 23, 17, 22],
    'py-core': [82.0, 79.0, 89.0, 96.0, 94.0]
}
>>> row_labels = [1, 2, 3, 4, 5]

dữ liệu là một biến tham chiếu Python đến từ điển chứa thành viên dữ liệu của bạn. Nó cũng chứa các nhãn của các cột

  • 'Tên'
  • 'thành phố'
  • 'lứa tuổi'
  • 'lõi py'

Cuối cùng, row_labels đề cập đến một danh sách chứa các nhãn của các hàng, là các số từ 1 đến 5

Bây giờ bạn đã có sẵn để tạo Pandas DataFrame

>>> df = pd.DataFrame(data=data, index=row_labels)
>>> df

   name          city          age  py-score
1  Nam Tran     HCM city       18      82.0
2  Huy Nguyen   Ha Noi city    19      79.0
3  Minh Huy     Ha Noi city    23      89.0
4  Lam Le       Da Nang city   17      96.0
5  Dat Nguyen   HCM city       22      94.0

df là 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

  • Nhãn hàng từ 1 đến 5
  • Nhãn cột là 'tên', 'thành phố', 'tuổi' và 'điểm số'
  • Data is the data. tên, thành phố, độ tuổi và điểm py-core

Pandas DataFrames đôi khi dữ liệu có thể rất lớn, khiến việc xem xét tất cả các hàng hóa giống nhau một lúc là không thực tế. You can't use. head() to show the first entry number and. tail() to show the end of the end number

>>> df.head(n=2)
   name          city          age  py-score
1  Nam Tran     HCM city       18      82.0
2  Huy Nguyen   Ha Noi city    19      79.0

>>> df.tail(n=2)
4  Lam Le       Da Nang city   17      96.0
5  Dat Nguyen   HCM city       22      94.0

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

Lưu ý. Có thể hữu ích khi coi Pandas DataFrame như một từ điển bao 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
1    HCM city
2    Ha Noi city
3    Ha Noi city
4    Da Nang city
5    HCM city 
Name: city, dtype: object

Đó là cách bạn có thể có một cột cụ thể. Bạn đã xuất ra cột tương ứng với nhãn 'thành phố', chứa vị trí của tất cả các dữ liệu bạn muốn làm cùng

Mỗi cột của Pandas DataFrame là một ví dụ của pandas. Sê-ri, một cấu trúc chứa dữ liệu theo chiều và nhãn của chúng. Bạn có thể lấy một mục của Dòng đối tượng (hà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 từ khóa

>>> cities[3]
'Ha Noi city'

Trong trường hợp này, 'Ha Noi city' là giá trị dữ liệu và '3' là nhãn tương ứng. Như bạn sẽ thấy trong phần sau, 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 toàn bộ hàng bằng truy cập trình duyệt. lộc []

>>> df.loc[3]
name          Minh Huy
city     'Ha Noi city'
age                 23
py-core           89.0 
Name: 3, dtype: object

Lần này, bạn đã trích xuất hàng tương ứng với nhãn 3, chứa dữ liệu cho ứng cử viên có tên là Minh Huy. 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

Data return also as a example of pandas. Loạt

Khởi tạo một Pandas DataFrame

Như đã đề cập, có một số cách để tạo Pandas DataFrame. Trong phần này, chúng ta sẽ học cách thực hiện công việc này bằng cách sử dụng hàm tạo DataFrame cùng với

  • từ điển Python
  • danh sách Python
  • Mã 2 chiều NumPy
  • Các tập tin

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 ví dụ sau

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

Tạo Pandas DataFrame với Dictionaries

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

________số 8

Key of dictionary là cột nhãn 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 bộ dữ liệu, danh sách, mảng NumPy một chiều, đối tượng Chuỗi Pandas hoặc một số trong 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 tra thứ tự của các cột bằng số cột và đánh dấu hàng bằng chỉ mục

>>> pd.DataFrame(d, index=[100, 200, 300], columns=['z', 'y', 'x'])
       z  y  x
100  100  2  1
200  100  4  2
300  100  8  3

Như bạn có thể thấy, bạn đã chỉ định các nhãn hàng 100, 200 và 300. You are also started thethứ tự của các cột. z, y, x

Create Pandas DataFrame with Lists

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

>>> data = {
    'name': ['Nam Tran', 'Huy Nguyen', 'Minh Huy', 'Lam Le', 'Dat Nguyen'],
    'city': ['HCM city', 'Ha Noi city', 'Ha Noi city', 'Da Nang city', 'HCM city'],
    'age': [18, 19, 23, 17, 22],
    'py-core': [82.0, 79.0, 89.0, 96.0, 94.0]
}
>>> row_labels = [1, 2, 3, 4, 5]
0

Một lần nữa, các khóa của từ điển là cột nhãn 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 danh sách làm giá trị dữ liệu. Nếu bạn làm như vậy, thì bạn nên chỉ rõ ràng ràng buộc của cột, hàng hoặc cả hai khi bạn tạo DataFrame

>>> data = {
    'name': ['Nam Tran', 'Huy Nguyen', 'Minh Huy', 'Lam Le', 'Dat Nguyen'],
    'city': ['HCM city', 'Ha Noi city', 'Ha Noi city', 'Da Nang city', 'HCM city'],
    'age': [18, 19, 23, 17, 22],
    'py-core': [82.0, 79.0, 89.0, 96.0, 94.0]
}
>>> row_labels = [1, 2, 3, 4, 5]
1

Đó 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ộ dữ liệu theo cách tương tự. Để làm như vậy, chỉ cần thay thế các ví dụ liststrong lồng nhau trên các bộ dữ liệu

Tạo Pandas DataFrame với NumPy Arrays

Bạn có thể truyền hai chiều mảng NumPy vào phương thức khởi tạo DataFrame giống như cách bạn làm với danh sách

>>> data = {
    'name': ['Nam Tran', 'Huy Nguyen', 'Minh Huy', 'Lam Le', 'Dat Nguyen'],
    'city': ['HCM city', 'Ha Noi city', 'Ha Noi city', 'Da Nang city', 'HCM city'],
    'age': [18, 19, 23, 17, 22],
    'py-core': [82.0, 79.0, 89.0, 96.0, 94.0]
}
>>> row_labels = [1, 2, 3, 4, 5]
2

Mặc dù ví dụ này trông gần giống với cách khai triển danh sách lồng nhau ở trên, nhưng nó có một điểm ưu tiên. You can only copy tham số tùy chọn

Khi sao chép được đặt thành Sai (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': ['Nam Tran', 'Huy Nguyen', 'Minh Huy', 'Lam Le', 'Dat Nguyen'],
    'city': ['HCM city', 'Ha Noi city', 'Ha Noi city', 'Da Nang city', 'HCM city'],
    'age': [18, 19, 23, 17, 22],
    'py-core': [82.0, 79.0, 89.0, 96.0, 94.0]
}
>>> row_labels = [1, 2, 3, 4, 5]
3

Như bạn đã thấy, khi bạn thay đổi mục đầu tiên của arr, bạn cũng đã sửa đổi df_

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 động này không như bạn muốn, thì bạn nên chỉ định copy = True trong hàm tạo DataFrame. Bằng cách đó, df_ sẽ được tạo ra với một bản sao của các giá trị từ arr thay vì các giá trị thực

Create Pandas DataFrame with from Files

Bạn có thể lưu và tải dữ liệu và gắn 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 dữ liệu từ DataFrame của mình vào tệp CSV với. to_csv()

>>> data = {
    'name': ['Nam Tran', 'Huy Nguyen', 'Minh Huy', 'Lam Le', 'Dat Nguyen'],
    'city': ['HCM city', 'Ha Noi city', 'Ha Noi city', 'Da Nang city', 'HCM city'],
    'age': [18, 19, 23, 17, 22],
    'py-core': [82.0, 79.0, 89.0, 96.0, 94.0]
}
>>> row_labels = [1, 2, 3, 4, 5]
4

Câu lệnh trên sẽ tạo ra một tệp CSV có tên dữ liệu. csv in your working directory

>>> data = {
    'name': ['Nam Tran', 'Huy Nguyen', 'Minh Huy', 'Lam Le', 'Dat Nguyen'],
    'city': ['HCM city', 'Ha Noi city', 'Ha Noi city', 'Da Nang city', 'HCM city'],
    'age': [18, 19, 23, 17, 22],
    'py-core': [82.0, 79.0, 89.0, 96.0, 94.0]
}
>>> row_labels = [1, 2, 3, 4, 5]
5

Đó là cách bạn đọc và lấy dữ liệu Pandas DataFrame từ một tệp. Trong trường hợp này, index_col = 0 chỉ định rằng các nhãn hàng nằm trong cột đầu tiên của tệp CSV