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 Show Python library to handle file ExcelopenpyxlThư viện được xuất đề cho việc đọc file Excel 2010 (xlsx)
xlsxwriterThư viện để ghi dữ liệu, định dạng, tạo bảng biểu cho Excel 2010 (xlsx)
xlrdRead library, write file excel with old format (xls)
xlwtRead library, write file excel with old format (xls)
xlutilsThư viện tổng hợp cả xlrd, openpyxl và xlwt, để xử lý sao chép và chỉnh sửa tệp excel
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,…
Đố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 PandasSử 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: int641 và tax_labels low 15221 normal 73540 high 117807 Name: tax, dtype: int642 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: int641 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: int644. Phía sau tax_labels low 15221 normal 73540 high 117807 Name: tax, dtype: int645 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: int646 có sẵn trong dataframe. Nếu muốn sử dụng tax_labels low 15221 normal 73540 high 117807 Name: tax, dtype: int645 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: int648 trong tax_labels low 15221 normal 73540 high 117807 Name: tax, dtype: int649 pip3 install xlrd3 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 xlrd30 pip3 install xlrd6 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 xlrd7 pip3 install xlrd8 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: int645 một danh sách các chiều tax_labels low 15221 normal 73540 high 117807 Name: tax, dtype: int640 tax_labels low 15221 normal 73540 high 117807 Name: tax, dtype: int641 Ưu điểm của tax_labels low 15221 normal 73540 high 117807 Name: tax, dtype: int645 đó 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: int645 đó 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 xlrd34 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òngPivot 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 xlrd35 thông qua ví dụ bên dưới tax_labels low 15221 normal 73540 high 117807 Name: tax, dtype: int646 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 xlrd36 và pip3 install xlrd37 (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 xlrd38 bao gồm các giá trị pip3 install xlrd39 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
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: int644 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: int645. Khi đó cần khai báo tax_labels low 15221 normal 73540 high 117807 Name: tax, dtype: int643 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: int640 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: int644, tax_labels low 15221 normal 73540 high 117807 Name: tax, dtype: int645 là những thông tin ứng với từng phép đo |