Pandas để định dạng excel

Đây là thư viện Python để xử lý tệp Excel, không yêu cầu phải chạy trên môi trường Windows, có thể sử dụng cả với Python 2 & 3

Python library to handle file Excel

openpyxl

Thư viện được xuất đề cho việc đọc file Excel 2010 (xlsx)

  • Tải xuống. http. //pypi. con trăn. org/pypi/openpyxl
  • Tài liệu. https. //openpyxl. đọcthedocs. tổ chức/
  • Cai Xô nhỏ. https. //cai Xô nhỏ. org/openpyxl/openpyxl

xlsxwriter

Thư viện để ghi dữ liệu, định dạng, tạo bảng biểu cho Excel 2010 (xlsx)

  • Tải xuống. https. //pypi. con trăn. org/pypi/XlsxWriter
  • Tài liệu. https. //xlsxwriter. đọcthedocs. tổ chức/
  • GitHub. https. //github. com/jmcnamara/XlsxWriter

xlrd

Read library, write file excel with old format (xls)

  • Tải xuống. http. //pypi. con trăn. tổ chức/pypi/xlrd
  • Tài liệu. http. //xlrd. đọcthedocs. io/vi/mới nhất/
  • GitHub. https. //github. com/python-excel/xlrd

xlwt

Read library, write file excel with old format (xls)

  • Tải xuống. http. //pypi. con trăn. org/pypi/xlwt
  • Tài liệu. http. //xlwt. đọcthedocs. io/vi/mới nhất/
  • ví dụ. https. //github. com/python-excel/xlwt/tree/master/ví dụ
  • GitHub. https. //github. com/python-excel/xlwt

xlutils

Thư viện tổng hợp cả xlrd, openpyxl và xlwt, để xử lý sao chép và chỉnh sửa tệp excel

  • Tải xuống. http. //pypi. con trăn. org/pypi/xlutils
  • Tài liệu. http. //xlutils. đọcthedocs. io/vi/mới nhất/
  • GitHub. https. //github. com/python-excel/xlutils

Pandas là gì?

Pandas là một thư viện mã nguồn mở, được cấp phép BSD cung cấp cấu trúc dữ liệu và các công cụ phân tích dữ liệu có hiệu suất cao, dễ sử dụng cho ngôn ngữ lập trình Python. Nó hỗ trợ đọc các định dạng tập tin. CSV, MS Excel, HTML, SQL,…

  • Trang chủ. https. //gấu trúc. pydata. tổ chức/
  • Github. https. //github. com/gấu trúc-dev/gấu trúc
  • Tài liệu. http. //gấu trúc. pydata. org/pandas-docs/ổn định/

Đối với Excel, Pandas sử dụng phân tích các thư viện xlrd, openpyxl, xlsxwriter và xlwt (Mặc định là xlrd). Nếu sử dụng thư viện nào thì bạn phải cài đặt thư viện đó, tất nhiên là cài đặt thông tin qua công cụ quản lý pip3 của Python 3

Cài đặt thư viện Pandas

Sử dụng công cụ quản lý pip3 để cài đặt Pandas

pip3 install pandas

Vì mặc định Pandas sử dụng thư viện đọc Excel là xlrd nên chúng ta cần cài đặt thêm xlrd

pip3 install xlrd

Hiện tại, phiên bản mới nhất của xlrd đã không còn hỗ trợ định dạng dang tệp xlsx, nếu bạn muốn sử dụng thì hãy cài đặt phiên bản thấp hơn là 1. 2. 0

Khi làm việc với bảng dữ liệu, chúng ta thường xuyên phải thống kê dữ liệu theo các nhóm để bắt dữ liệu tạo ra những thông tin chuyên sâu hữu ích để phân tích và ra quyết định. Ngoài những tính năng tốt, sức mạnh phân loại và dự báo cao có thể được tạo thành từ hệ thống thống kê dữ liệu theo nhóm. Quá trình thống kê và phân tích dữ liệu dữ liệu mặc dù kém về mặt thời gian nhưng lại rất quan trọng đối với mô hình. Vì vậy chúng ta cần thực hiện chúng kỹ năng kỹ thuật và cần kết hợp giữa kỹ năng thống kê và kinh nghiệm thực tiễn

Ở mục 5 này chúng ta sẽ làm quen với hai câu lệnh kinh điển trong gấu trúc được sử dụng nhiều trong bảng thống kê theo nhóm gấu trúc đó là

tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
1 và
tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
2

2. 4. 1. df. theo nhóm ()

groupby là câu lệnh cho phép bạn áp dụng các hàm số trên phép đo dựa trên việc phân nhóm dữ liệu theo kích thước

Nếu bạn chưa hiểu về khái niệm đo lường và kích thước thì mình có thể giải thích đơn giản là. đo lường là những biến có thể cộng trừ nhân chia và đo đếm được còn thứ nguyên là những biến được sử dụng để phân nhóm dữ liệu. Ví dụ chiều cao là một phép đo có thể đo theo chiều là giới tính bao gồm các nhóm nam/nữ

Cú pháp của hàm

tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
1 khá đơn giản

Chúng ta cần xác định các chiều trong

tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
4. Phía sau
tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
5 là danh sách các phép đo mà ta cần áp dụng hàm lên trên các trường này

df.groupby('tax_labels')['tax'].sum()

tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64

Theo cách trên thì ta chỉ áp dụng được với các hàm tính toán như

tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
6 có sẵn trong dataframe. Nếu muốn sử dụng
tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
5 cho mọi biến đổi hàm chúng ta có thể sử dụng hàm
tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
8 trong
tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
9

pip3 install xlrd
3

tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64

Nếu muốn áp dụng tính toán cho nhiều phép đo cùng một lúc thì hãy chuyển vào danh sách các phép đo. Không giới hạn bên dưới ta truyền vào một danh sách bao gồm

pip3 install xlrd
30

pip3 install xlrd
6

taxrmtax_labelslow220. 594206. 52564bình thường310. 295366. 42074cao589. 035006. 04020

Chúng ta cũng có thể tự định nghĩa các hàm tùy biến theo ý muốn

pip3 install xlrd
7

pip3 install xlrd
8

Hoặc nhóm theo nhiều chiều dữ liệu. Khi đó phải truyền vào

tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
5 một danh sách các chiều

tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
0

tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
1

Ưu điểm của

tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
5 đó là nhanh gọn, dễ hiểu. Nhưng nhược điểm của
tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
5 đó là chúng ta chỉ có thể áp dụng cùng một hàm biến đổi số cho mọi phép đo. Ở
pip3 install xlrd
34 bạn có thể tùy biến sâu hơn từng hàm đối với từng phép đo nhưng cú pháp sẽ phức tạp hơn một chút

2. 4. 2. Có thể xoay vòng

Pivot table là một công thức có ứng dụng rất quan trọng trong pandas. Nó giúp chúng ta thực hiện các bảng kê trên các biến đo lường theo kích thước

Bạn sẽ định cấu hình cách áp dụng thông tin của

pip3 install xlrd
35 thông qua ví dụ bên dưới

tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
6

TAX_LABELSLOWNORMALHIGHAS010101RAD124119849680422021800044560003642444612080127304215502043421471244446120

Bạn định cấu hình nội dung của bảng thống kê trên chứ?

Bảng thống kê trên sẽ tính tổng số VAT được phân chia theo các cột là

pip3 install xlrd
36 và
pip3 install xlrd
37 (tax_labels bao gồm thấp, bình thường và cao và chas bao gồm 0-không bao bởi sông, 1-bao bởi sông)

Các dòng quay lại được phân nhóm theo chỉ số mức độ tiếp cận đường cao tốc

pip3 install xlrd
38 bao gồm các giá trị
pip3 install xlrd
39

Như vậy ta có thể cấu hình dung trong công thức của pivot_table, các đối số của nó có nghĩa như sau

  • tax_labels
    low        15221
    normal     73540
    high      117807
    Name: tax, dtype: int64
    
    0. Liệt kê các kích thước của cột mà chúng ta cần thống kê

  • tax_labels
    low        15221
    normal     73540
    high      117807
    Name: tax, dtype: int64
    
    1. Liệt kê các kích thước theo dòng mà chúng ta cần thống kê

  • tax_labels
    low        15221
    normal     73540
    high      117807
    Name: tax, dtype: int64
    
    2. Liệt kê các phép đo chúng ta sử dụng để tính toán

  • tax_labels
    low        15221
    normal     73540
    high      117807
    Name: tax, dtype: int64
    
    3. Quy định hàm số chúng ta sẽ sử dụng để thay đổi phép đo. Trong ví dụ này, chúng ta áp dụng hàm np. tổng hợp cho các bộ đo lường

Làm sao để xác định mỗi phép đo một công thức?

Giả sử chúng ta cần tính thêm trung bình số phòng trên căn hộ. Tức là thêm trung bình của trường

tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
4 trong khi vẫn cần tính tổng của trường
tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
5. Khi đó cần khai báo
tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
3 dưới dạng từ điển có khóa là tên của phép đo và giá trị là công thức của phép đo

tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
0

rmtaxtax_labelslownormalhighlownormalhighchas010101010101rad16. 230007. 92306. 49553NaN6. 54000NaN24119849680422026. 08611NaN6. 98827NaNNaNNaN18000445600036. 442596. 80556. 38275NaN6. 66600NaN6424446120801273046. 79033NaN6. 102016. 178755. 96652NaN2155020434214712222056. 462777. 64506. 509226. 070675. 982176. 44614285321622175828926928216NaNNaN6. 11888NaN6. 07800NaN00580703888077. 03025NaN6. 53008NaNNaNNaN888042870008NaNNaN7. 024636. 67020NaNNaN00569515350024NaNNaNNaNNaN5. 984146. 611370000825845328

Table of them ta has beenTăng gấp đôi cột số. Dòng đầu tiên của bảng là

tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
4,
tax_labels
low        15221
normal     73540
high      117807
Name: tax, dtype: int64
5 là những thông tin ứng với từng phép đo