Tại sao nên học cách làm việc với Python Pandas Excel? Excel là một trong những công cụ dữ liệu phổ biến và được sử dụng rộng rãi nhất; khó mà tìm được một tổ chức mà không sử dụng Excel. Từ các nhà phân tích, đến các VP bán hàng, cho đến các CEO, các chuyên gia khác nhau đều sử dụng Excel cho cả số liệu thống kê nhanh và xử lý dữ liệu nghiêm trọng.
Với việc Excel rất phổ biến, các chuyên gia dữ liệu phải làm quen với nó. Làm việc với dữ liệu bằng Python hoặc R mang lại những lợi thế nghiêm trọng so với Excel Excel UI, vì vậy việc tìm cách làm việc với Excel bằng mã là rất quan trọng. Rất may, có một công cụ tuyệt vời đã có sẵn để sử dụng Excel với Python được gọi là Pandas.
Pandas có các phương pháp tuyệt vời để đọc tất cả các loại dữ liệu từ các tệp Excel. Bạn cũng có thể xuất kết quả của mình từ Pandas trở lại Excel, nếu điều đó được ưa thích bởi đối tượng dự định của bạn. Pandas là tuyệt vời cho các nhiệm vụ phân tích dữ liệu thường xuyên khác, chẳng hạn như:
- Phân tích dữ liệu thăm dò nhanh [EDA]
- vẽ lô hấp dẫn
- cung cấp dữ liệu vào các công cụ học máy như scikit-learn
- xây dựng mô hình học máy trên dữ liệu của bạn
- lấy dữ liệu được làm sạch và xử lý cho bất kỳ số lượng công cụ dữ liệu
Pandas tốt hơn trong việc tự động hóa các tác vụ xử lý dữ liệu so với Excel, bao gồm xử lý các tệp Excel.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách làm việc với các tệp Excel trong Pandas. Chúng tôi sẽ bao gồm các khái niệm sau đây.
- thiết lập máy tính của bạn với phần mềm cần thiết
- đọc dữ liệu từ tệp Excel vào Pandas
- thăm dò dữ liệu trong Pandas
- trực quan hóa dữ liệu trong Pandas bằng thư viện trực quan matplotlib
- thao túng và định hình lại dữ liệu trong Pandas
- chuyển dữ liệu từ Pandas vào Excel
Lưu ý rằng hướng dẫn này không cung cấp một lặn sâu vào Pandas. Để khám pháPandas nhiều hơn, hãy xem khóa học của chúng tôi.
Điều kiện tiên quyết của hệ thống
Chúng tôi sẽ sử dụng Python 3 và Jupyter Notebook để trình bày mã trong hướng dẫn này. Ngoài Python và Jupyter Notebook, bạn sẽ cần các mô-đun Python sau:
Ngoài Python và Jupyter Notebook, bạn sẽ cần các mô-đun Python sau:
matplotlib – trực quan hóa dữ liệu NumPy – chức năng dữ liệu số OpenPyXL – đọc / ghi tệp Excel 2010 xlsx / xlsm Pandas – nhập dữ liệu, dọn dẹp, thăm dò và phân tích xlrd – đọc dữ liệu Excel xlwt – ghi vào Excel XlsxWriter – ghi vào tệp Excel [xlsx]
NumPy – chức năng dữ liệu số
OpenPyXL – đọc / ghi tệp Excel 2010 xlsx / xlsm
Pandas – nhập dữ liệu, dọn dẹp, thăm dò và phân tích
xlrd – đọc dữ liệu Excel
xlwt – ghi vào Excel
XlsxWriter – ghi vào tệp Excel [xlsx]
Có nhiều cách để thiết lập với tất cả các mô-đun. Chúng tôi bao gồm ba trong số các kịch bản phổ biến nhất dưới đây.
- Nếu bạn đã cài đặt Python thông qua trình quản lý gói Anaconda, bạn có thể cài đặt các mô-đun cần thiết bằng lệnh conda install. Ví dụ, để cài đặt Pandas, bạn sẽ thực thi lệnh – conda install pandas.conda install. Ví dụ, để cài đặt Pandas, bạn sẽ thực thi lệnh – conda install pandas.
- Nếu bạn đã cài đặt Python thông thường, không phải Anaconda trên máy tính, bạn có thể cài đặt các mô-đun cần thiết bằng pip. Mở chương trình dòng lệnh của bạn và thực hiện lệnh pip install để cài đặt một mô-đun. Bạn nên thay thế bằng tên thực của mô-đun bạn đang cố gắng cài đặt. Ví dụ, để cài đặt Pandas, bạn sẽ thực thi lệnh – pip install pandas.module name> để cài đặt một mô-đun. Bạn nên thay thế bằng tên thực của mô-đun bạn đang cố gắng cài đặt. Ví dụ, để cài đặt Pandas, bạn sẽ thực thi lệnh – pip install pandas.
- Nếu bạn không cài đặt Python, bạn nên tải nó thông qua trình quản lý gói Anaconda. Anaconda cung cấp trình cài đặt cho Máy tính Windows, Mac và Linux. Nếu bạn chọn trình cài đặt đầy đủ, bạn sẽ nhận được tất cả các mô-đun bạn cần, cùng với Python và Pandas trong một gói duy nhất. Đây là cách dễ nhất và nhanh nhất để bắt đầu.
Tập dữ liệu – Python Pandas Excel
Trong hướng dẫn này, chúng tôi sẽ sử dụng tệp Excel nhiều trang mà chúng tôi đã tạo từ dữ liệu Điểm IMDB của Kaggle. Bạn có thể tải tập tin tại đây.
Tệp Excel của chúng tôi có ba sheets: ‘1900s’, ’2000s’, ‘2010s’. Mỗi sheet có dữ liệu cho các bộ phim từ những năm đó.
Chúng tôi sẽ sử dụng bộ dữ liệu này để tìm phân phối xếp hạng cho phim, trực quan hóa phim có xếp hạng cao nhất và thu nhập ròng và tính toán thông tin thống kê về phim. Chúng tôi sẽ phân tích và khám phá dữ liệu này bằng Python vàPandas, do đó chứng minh khả năng của Pandas để làm việc với dữ liệu Excel trong Python.
Đọc dữ liệu từ tệp Excel – Python Pandas Excel
Trước tiên chúng ta cần nhập dữ liệu từ tệp Excel vào Pandas. Để làm điều đó, chúng tôi bắt đầu bằng cách nhập mô-đun Pandas.
import pandas as pd
Sau đó, chúng tôi sử dụng phương thức pandasTHER read_excel để đọc dữ liệu từ tệp Excel. Cách dễ nhất để gọi phương thức này là truyền tên tệp. Nếu không có tên trang tính được chỉ định thì nó sẽ đọc trang tính đầu tiên trong chỉ mục [như hiển thị bên dưới].
excel_file = 'movies.xls'
movies = pd.read_excel[excel_file]
Ở đây, phương thức read_excel đọc dữ liệu từ tệp Excel vào một đối tượng DataFrame của Pandas. Pandas mặc định lưu trữ dữ liệu trong DataFrames. Sau đó chúng tôi đã lưu trữ DataFrame này vào một biến gọi là movies.
Pandas có một phương thức DataFrame.head [] tích hợp mà chúng ta có thể sử dụng để dễ dàng hiển thị một vài hàng đầu tiên của DataFrame. Nếu không có đối số nào được thông qua, nó sẽ hiển thị năm hàng đầu tiên. Nếu một số được thông qua, nó sẽ hiển thị số lượng hàng bằng nhau từ đầu.
movie.head []
Intolerance: Love’s Struggle Throughout the Ages | 1916 | Drama|History|War | NaN | USA | Not Rated | 123 | 1.33 | 385907.0 | NaN | USA | 436 | 22 | 9.0 | 481 | 691 | 1 | 10718 | 88 | 69.0 | 8.0 |
Not Rated | 1920 | … | NaN | USA | NaN | 110 | 1.33 | 100000.0 | 3000000.0 | USA | 2 | 2 | 0.0 | 4 | 0 | 1 | 5 | 1 | 1.0 | 4.8 |
Not Rated | 1925 | … | NaN | USA | Not Rated | 151 | 1.33 | 245000.0 | NaN | USA | 81 | 12 | 6.0 | 108 | 226 | 0 | 4849 | 45 | 48.0 | 8.3 |
Not Rated | 1927 | … | Over the Hill to the Poorhouse | Crime|Drama | Not Rated | 145 | 1.33 | 6000000.0 | 26435.0 | USA | 136 | 23 | 18.0 | 203 | 12000 | 1 | 111841 | 413 | 260.0 | 8.3 |
Not Rated | 1929 | … | Over the Hill to the Poorhouse | Crime|Drama | Not Rated | 110 | 1.33 | NaN | 9950.0 | USA | 426 | 20 | 3.0 | 455 | 926 | 1 | 7431 | 84 | 71.0 | 8.0 |
Not Rated
…
Over the Hill to the Poorhouse
movies_sheet1 = pd.read_excel[excel_file, sheetname=0, index_col=0]
movies_sheet1.head[]
1916 | Drama|History|War | NaN | USA | Not Rated | 123 | 1.33 | 385907.0 | NaN | USA | USA | 436 | 22 | 9.0 | 481 | 691 | 1 | 10718 | 88 | 69.0 | 8.0 |
1920 | … | NaN | USA | NaN | 110 | 1.33 | 100000.0 | 3000000.0 | USA | USA | 2 | 2 | 0.0 | 4 | 0 | 1 | 5 | 1 | 1.0 | 4.8 |
1925 | … | NaN | USA | Not Rated | 151 | 1.33 | 245000.0 | NaN | USA | USA | 81 | 12 | 6.0 | 108 | 226 | 0 | 4849 | 45 | 48.0 | 8.3 |
1927 | … | Over the Hill to the Poorhouse | Crime|Drama | Not Rated | 145 | 1.33 | 6000000.0 | 26435.0 | … | USA | 136 | 23 | 18.0 | 203 | 12000 | 1 | 111841 | 413 | 260.0 | 8.3 |
1929 | … | Over the Hill to the Poorhouse | Crime|Drama | Not Rated | 110 | 1.33 | NaN | 9950.0 | USA | USA | 426 | 20 | 3.0 | 455 | 926 | 1 | 7431 | 84 | 71.0 | 8.0 |
Not Rated
movies_sheet2 = pd.read_excel[excel_file, sheetname=1, index_col=0]
movies_sheet2.head[]
2000 | Drama|History|War | NaN | USA | Not Rated | 100.0 | 1.85 | 85000000.0 | 66941559.0 | … | USA | 2000.0 | 795.0 | 439.0 | 4182 | 372 | 1 | 26413 | 77.0 | 84.0 | 4.8 |
2000 | … | NaN | USA | Not Rated | 103.0 | 1.37 | 43000000.0 | 37035515.0 | … | USA | 12000.0 | 10000.0 | 664.0 | 23864 | 0 | 1 | 34597 | 194.0 | 116.0 | 6.0 |
2000 | … | NaN | USA | Not Rated | 82.0 | 1.85 | 6000000.0 | 9821335.0 | … | USA | 939.0 | 706.0 | 585.0 | 3354 | 118 | 1 | 1415 | 10.0 | 22.0 | 4.0 |
2000 | … | NaN | USA | NaN | 106.0 | 1.85 | 6500000.0 | 64148.0 | USA | USA | 844.0 | 2.0 | 0.0 | 846 | 260 | 0 | 2601 | 35.0 | 28.0 | 7.3 |
2000 | … | NaN | USA | Not Rated | 220.0 | 2.35 | 57000000.0 | 15527125.0 | … | USA | 13000.0 | 861.0 | 820.0 | 15006 | 652 | 2 | 11388 | 183.0 | 85.0 | 5.8 |
movies_sheet3 = pd.read_excel[excel_file, sheetname=2, index_col=0]
movies_sheet3.head[]
2010.0 | Adventure|Biography|Drama|Thriller | English | USA | R | 94.0 | 1.85 | 18000000.0 | 18329466.0 | Danny Boyle | … | 11000.0 | 642.0 | 223.0 | 11984 | 63000 | 0.0 | 279179 | 440.0 | 450.0 | 7.6 |
2010.0 | Drama | English | USA | R | 88.0 | Danny Boyle | 300000.0 | Danny Boyle | … | … | 795.0 | 659.0 | 301.0 | 1884 | 92 | 0.0 | 554 | 23.0 | 20.0 | 5.2 |
2010.0 | 3 Backyards | Drama | NaN | Eric Mendelsohn | 119.0 | 2.35 | Danny Boyle | 59774.0 | … | … | 24.0 | 20.0 | 9.0 | 69 | 2000 | 0.0 | 4212 | 18.0 | 76.0 | 6.8 |
2010.0 | Drama | English | USA | R | 80.0 | 1.78 | 2500000.0 | 99851.0 | Danny Boyle | … | 191.0 | 12.0 | 5.0 | 210 | 0 | 0.0 | 1138 | 30.0 | 28.0 | 7.1 |
2010.0 | Drama | English | USA | R | 88.0 | 2.35 | Danny Boyle | Danny Boyle | … | … | 783.0 | 749.0 | 602.0 | 3874 | 0 | 2.0 | 5385 | 22.0 | 56.0 | 6.1 |
3 Backyards
movies = pd.concat[[movies_sheet1, movies_sheet2, movies_sheet3]]
Drama
movies.shape
[5042, 24]
NaN
Eric Mendelsohn
movies_sheet2 = pd.read_excel[excel_file, sheetname=1, index_col=0]
movies_sheet2.head[]
5 và chuyển nó tới phương thứcmovies_sheet2 = pd.read_excel[excel_file, sheetname=1, index_col=0]
movies_sheet2.head[]
6 .xlsx = pd.ExcelFile[excel_file]
movies_sheets = []
for sheet in xlsx.sheet_names:
movies_sheets.append[xlsx.parse[sheet]]
movies = pd.concat[movies_sheets]
Comedy|Drama|Romance
Khám phá dữ liệu
Bây giờ chúng ta đã đọc trong tập dữ liệu phim từ tệp Excel của mình, chúng ta có thể bắt đầu khám phá nó bằng Pandas. Một DataFrame của Pandas lưu trữ dữ liệu theo định dạng bảng, giống như cách Excel hiển thị dữ liệu trong một trang tính. Pandas có rất nhiều phương thức tích hợp để khám phá DataFrame mà chúng ta đã tạo từ tệp Excel mà chúng ta vừa đọc.
Chúng tôi đã giới thiệu đầu phương
thức trong phần trước hiển thị một vài hàng từ đầu từ DataFrame. Hãy cùng xem xét một vài phương pháp hữu ích trong khi khám phá tập dữ liệu.
Chúng ta có thể sử dụng phương thức hình dạng để tìm ra số lượng hàng và cột cho DataFrame.
movies.shape
excel_file = 'movies.xls'
movies = pd.read_excel[excel_file]
0German
Chúng ta có thể sử dụng phương thức đuôi
để xem các hàng dưới cùng. Nếu không có tham số nào được thông qua, chỉ có năm hàng dưới cùng được trả về.
excel_file = 'movies.xls'
movies = pd.read_excel[excel_file]
1
Title | Danny Boyle | … | English | USA | R | Danny Boyle | 16.00 | Danny Boyle | Danny Boyle | … | 1000.0 | 888.0 | 502.0 | 4528 | 11000 | 1.0 | 9277 | 44.0 | 10.0 | 8.2 |
3 Backyards | Danny Boyle | … | English | USA | Danny Boyle | 30.0 | 1.33 | Danny Boyle | Danny Boyle | … | 685.0 | 511.0 | 424.0 | 1884 | 1000 | 5.0 | 7646 | 56.0 | 19.0 | 7.3 |
3 Backyards | Danny Boyle | … | English | USA | Danny Boyle | Danny Boyle | 2.00 | Danny Boyle | Danny Boyle | … | 511.0 | 457.0 | 206.0 | 1617 | 954 | 0.0 | 726 | 6.0 | 2.0 | 7.1 |
3 Backyards | Danny Boyle | … | English | USA | Danny Boyle | 142.0 | Danny Boyle | Danny Boyle | Danny Boyle | … | 27000.0 | 698.0 | 427.0 | 29196 | 0 | 2.0 | 6053 | 33.0 | 9.0 | 7.7 |
3 Backyards | Danny Boyle | … | 3 Backyards | Drama | Danny Boyle | 24.0 | Danny Boyle | Danny Boyle | Danny Boyle | … | 0.0 | Danny Boyle | Danny Boyle | 0 | 124 | 0.0 | 12417 | 51.0 | 6.0 | 7.0 |
…
sort_by_gross = movies.sort_values [[‘Tổng thu nhập’], tăng dần = Sai] Vì chúng tôi có dữ liệu được sắp xếp theo các giá trị trong một cột, chúng tôi có thể thực hiện một vài điều thú vị với nó. Ví dụ: chúng tôi có thể hiển thị 10 phim hàng đầu theo Tổng thu nhập.
Vì chúng tôi có dữ liệu được sắp xếp theo các giá trị trong một cột, chúng tôi có thể thực hiện một vài điều thú vị với nó. Ví dụ:
chúng tôi có thể hiển thị 10 phim hàng đầu theo Tổng thu nhập.
excel_file = 'movies.xls'
movies = pd.read_excel[excel_file]
2excel_file = 'movies.xls'
movies = pd.read_excel[excel_file]
3Chúng tôi cũng có thể tạo cốt truyện cho 10 bộ phim hàng đầu của Gross Earnings. Pandas giúp dễ dàng trực quan hóa dữ liệu của bạn với các sơ đồ và biểu đồ thông qua matplotlib, một thư viện trực quan hóa dữ liệu phổ biến. Với một vài dòng mã, bạn có thể bắt đầu vẽ. Hơn nữa, các lô matplotlib hoạt động tốt trong Notebook Jupyter vì bạn có thể thay thế các lô ngay dưới mã. Đầu tiên, chúng tôi nhập mô-đun matplotlib và đặt matplotlib để hiển thị các ô ngay trong Notebook Jupyter.
Đầu tiên, chúng tôi nhập mô-đun
matplotlib và đặt matplotlib để hiển thị các ô ngay trong Notebook Jupyter.
excel_file = 'movies.xls'
movies = pd.read_excel[excel_file]
4Chúng tôi sẽ vẽ một cốt truyện trong đó mỗi thanh sẽ đại diện cho một trong 10 bộ phim hàng đầu. Chúng ta có thể làm điều này bằng cách gọi phương thức cốt truyện và đặt loại đối số thành barh. Điều này nói với matplotlib để vẽ một biểu đồ thanh ngang.
excel_file = 'movies.xls'
movies = pd.read_excel[excel_file]
5Hãy cùng với nhau tạo ra một biểu đồ của Điểm IMDB để kiểm tra sự phân phối của Điểm IMDB trên tất cả các phim. Biểu đồ là một cách tốt để hình dung sự phân phối của một tập dữ liệu. Chúng tôi sử dụng phương pháp cốt truyện trên loạt Điểm IMDB từ DataFrame phim của chúng tôi và truyền cho nó đối số.
excel_file = 'movies.xls'
movies = pd.read_excel[excel_file]
6Trực quan hóa dữ liệu này cho thấy rằng hầu hết các Điểm IMDB rơi vào khoảng từ sáu đến tám.
Lấy thông tin thống kê về dữ liệu
Pandas có một số phương pháp rất tiện dụng để xem xét dữ liệu thống kê về tập dữ liệu của chúng tôi. Ví dụ: chúng ta có thể sử dụng phương pháp mô tả để có được một bản tóm tắt thống kê của tập dữ liệu.
excel_file = 'movies.xls'
movies = pd.read_excel[excel_file]
7
4935.000000 | 5028.000000 | 4714.000000 | 4.551000e+03 | 4.159000e+03 | 4938.000000 | 5035.000000 | 5029.000000 | 5020.000000 | 5042.000000 | 5042.000000 | 5029.000000 | 5.042000e+03 | 5022.000000 | 4993.000000 | 5042.000000 |
2002.470517 | 107.201074 | 2.220403 | 3.975262e+07 | 4.846841e+07 | 686.621709 | 6561.323932 | 1652.080533 | 645.009761 | 9700.959143 | 7527.457160 | 1.371446 | 8.368475e+04 | 272.770808 | 140.194272 | 6.442007 |
12.474599 | 25.197441 | 1.385113 | 2.061149e+08 | 6.845299e+07 | 2813.602405 | 15021.977635 | 4042.774685 | 1665.041728 | 18165.101925 | 19322.070537 | 2.013683 | 1.384940e+05 | 377.982886 | 121.601675 | 1.125189 |
1916.000000 | 7.000000 | 1.180000 | 2.180000e+02 | 1.620000e+02 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 5.000000e+00 | 1.000000 | 1.000000 | 1.600000 |
1999.000000 | 93.000000 | 1.850000 | 6.000000e+06 | 5.340988e+06 | 7.000000 | 614.500000 | 281.000000 | 133.000000 | 1411.250000 | 0.000000 | 0.000000 | 8.599250e+03 | 65.000000 | 50.000000 | 5.800000 |
2005.000000 | 103.000000 | 2.350000 | 2.000000e+07 | 2.551750e+07 | 49.000000 | 988.000000 | 595.000000 | 371.500000 | 3091.000000 | 166.000000 | 1.000000 | 3.437100e+04 | 156.000000 | 110.000000 | 6.600000 |
2011.000000 | 118.000000 | 2.350000 | 4.500000e+07 | 6.230944e+07 | 194.750000 | 11000.000000 | 918.000000 | 636.000000 | 13758.750000 | 3000.000000 | 2.000000 | 9.634700e+04 | 326.000000 | 195.000000 | 7.200000 |
2016.000000 | 511.000000 | 16.000000 | 1.221550e+10 | 7.605058e+08 | 23000.000000 | 640000.000000 | 137000.000000 | 23000.000000 | 656730.000000 | 349000.000000 | 43.000000 | 1.689764e+06 | 5060.000000 | 813.000000 | 9.500000 |
Phương pháp mô tả hiển thị thông tin bên dưới cho mỗi cột.
số lượng hoặc số lượng giá trị nghĩa là độ lệch chuẩn tối thiểu, tối đa 25%, 50% và 75% lượng tử Xin lưu ý rằng thông tin này sẽ chỉ được tính cho các giá trị số.Chúng ta cũng có thể sử dụng phương thức tương ứng để truy cập thông tin này cùng một lúc. Ví dụ: để lấy giá trị trung bình của một cột cụ thể, bạn có thể sử dụng phương thức trung bình trên cột đó.
nghĩa là
độ lệch chuẩn
tối thiểu, tối đa
25%, 50% và 75% lượng tử
Xin lưu ý rằng thông tin này sẽ chỉ được tính cho các giá trị số.Chúng ta cũng có thể sử dụng phương thức tương ứng để truy cập thông tin này cùng một lúc. Ví dụ: để lấy giá trị trung bình của một cột cụ thể, bạn có thể sử dụng phương thức trung bình trên cột đó.
movies_sheet2 = pd.read_excel[excel_file, sheetname=1, index_col=0]
movies_sheet2.head[]
7
movies_sheet2 = pd.read_excel[excel_file, sheetname=1, index_col=0]
movies_sheet2.head[]
8movies_sheet2 = pd.read_excel[excel_file, sheetname=1, index_col=0]
movies_sheet2.head[]
9Cũng giống như trung bình, có các phương thức có sẵn cho mỗi thông tin thống kê mà chúng tôi muốn truy cập. Bạn có thể đọc về các phương pháp này trong bảng cheat Pandas miễn phí của chúng tôi.
Đọc tệp không có tiêu đề và bỏ qua hồ sơ
Trước đó trong hướng dẫn này, chúng tôi đã thấy một số cách để đọc một loại tệp Excel cụ thể có tiêu đề và không có hàng nào cần bỏ qua. Đôi khi, bảng tính Excel không có bất kỳ hàng tiêu đề nào. Đối với những trường hợp như vậy, bạn có thể yêu cầu Pandas không coi hàng đầu tiên là tên tiêu đề hoặc cột. Và nếu một vài hàng đầu tiên trong bảng tính Excel có chứa dữ liệu không nên đọc, bạn có thể yêu cầu phương thức read_excel bỏ qua một số hàng nhất định, bắt đầu từ đầu. Ví dụ: nhìn vào một vài hàng trên cùng của tệp Excel này. Tệp này rõ ràng không có tiêu đề và bốn hàng đầu tiên không phải là bản ghi thực và do đó không nên đọc. Chúng ta có thể nói với read_excel không có tiêu đề bằng cách đặt tiêu đề đối số thành Không có và chúng ta có thể bỏ qua bốn hàng đầu tiên bằng cách đặt bỏ qua đối số thành bốn.
Ví dụ: nhìn vào một vài hàng trên cùng của tệp Excel này.
Tệp này rõ ràng không có tiêu đề và bốn hàng đầu tiên không phải là bản ghi thực và do đó không nên đọc. Chúng ta có thể nói với read_excel không có tiêu đề bằng cách đặt tiêu đề đối số thành Không có và chúng ta có thể bỏ qua bốn hàng đầu tiên bằng cách đặt bỏ qua đối số thành bốn.
excel_file = 'movies.xls'
movies = pd.read_excel[excel_file]
8
Metropolis | 1927 | Drama|Sci-Fi | German | Germany | Not Rated | 145 | 1.33 | 6000000.0 | 26435.0 | … | 136 | 23 | 18.0 | 203 | 12000 | 1 | 111841 | 413 | 260.0 | 8.3 |
Pandora’s Box | 1929 | Crime|Drama|Romance | German | Germany | Not Rated | 110 | 1.33 | … | 9950.0 | … | 426 | 20 | 3.0 | 455 | 926 | 1 | 7431 | 84 | 71.0 | 8.0 |
Pandora’s Box | 1929 | Crime|Drama|Romance | NaN | The Broadway Melody | Musical|Romance | 100 | 1.37 | 379000.0 | 2808000.0 | … | 77 | 28 | 4.0 | 109 | 167 | 8 | 4546 | 71 | 36.0 | 6.3 |
Pandora’s Box | 1930 | Crime|Drama|Romance | NaN | The Broadway Melody | Musical|Romance | 96 | 1.20 | 3950000.0 | … | … | 431 | 12 | 4.0 | 457 | 279 | 1 | 3753 | 53 | 35.0 | 7.8 |
Pandora’s Box | 1932 | Crime|Drama|Romance | NaN | The Broadway Melody | Musical|Romance | 79 | 1.37 | 800000.0 | … | … | 998 | 164 | 99.0 | 1284 | 213 | 1 | 3519 | 46 | 42.0 | 6.6 |
Pandora’s Box
Crime|Drama|Romance
excel_file = 'movies.xls'
movies = pd.read_excel[excel_file]
9
Metropolis | 1927 | Drama|Sci-Fi | German | Germany | Not Rated | 145 | 1.33 | 6000000.0 | 26435.0 | … | 136 | 23 | 18.0 | 203 | 12000 | 1 | 111841 | 413 | 260.0 | 8.3 |
Pandora’s Box | 1929 | Crime|Drama|Romance | German | Germany | Not Rated | 110 | 1.33 | … | 9950.0 | … | 426 | 20 | 3.0 | 455 | 926 | 1 | 7431 | 84 | 71.0 | 8.0 |
Pandora’s Box | 1929 | Crime|Drama|Romance | NaN | The Broadway Melody | Musical|Romance | 100 | 1.37 | 379000.0 | 2808000.0 | … | 77 | 28 | 4.0 | 109 | 167 | 8 | 4546 | 71 | 36.0 | 6.3 |
Pandora’s Box | 1930 | Crime|Drama|Romance | NaN | The Broadway Melody | Musical|Romance | 96 | 1.20 | 3950000.0 | … | … | 431 | 12 | 4.0 | 457 | 279 | 1 | 3753 | 53 | 35.0 | 7.8 |
Pandora’s Box | 1932 | Crime|Drama|Romance | NaN | The Broadway Melody | Musical|Romance | 79 | 1.37 | 800000.0 | … | … | 998 | 164 | 99.0 | 1284 | 213 | 1 | 3519 | 46 | 42.0 | 6.6 |
Pandora’s Box
Crime|Drama|Romance
NaN
movies_sheet1 = pd.read_excel[excel_file, sheetname=0, index_col=0]
movies_sheet1.head[]
0
Drama|War | 1916 | A Farewell to Arms | … | The Broadway Melody | Not Rated | 123 |
Musical|Romance | 1920 | English | … | The Broadway Melody | … | 110 |
Pandora’s Box | 1925 | Crime|Drama|Romance | … | The Broadway Melody | Not Rated | 151 |
Metropolis | 1927 | Drama|Sci-Fi | German | Germany | Not Rated | 145 |
Pandora’s Box | 1929 | Crime|Drama|Romance | German | Germany | Not Rated | 110 |
Musical|Romance
English
USA
movies_sheet1 = pd.read_excel[excel_file, sheetname=0, index_col=0]
movies_sheet1.head[]
1Passed
Hãy để sử dụng phương pháp sot_values để sắp xếp dữ liệu theo cột mới mà chúng tôi đã tạo và trực quan hóa 10 bộ phim hàng đầu theo Thu nhập Net.
movies_sheet1 = pd.read_excel[excel_file, sheetname=0, index_col=0]
movies_sheet1.head[]
2Hell’s Angels
Drama|War
Trước tiên chúng ta cần xác định cột hoặc cột sẽ đóng vai trò là chỉ mục và [các] cột mà công thức tóm tắt sẽ được áp dụng. Hãy bắt đầu từ nhỏ, bằng cách chọn Năm làm cột chỉ mục và Tổng thu nhập làm cột tóm tắt và tạo một DataFrame riêng từ dữ liệu này.
movies_sheet1 = pd.read_excel[excel_file, sheetname=0, index_col=0]
movies_sheet1.head[]
3
1916.0 | NaN |
1920.0 | 3000000.0 |
1925.0 | NaN |
1927.0 | 26435.0 |
1929.0 | 9950.0 |
Bây giờ chúng tôi gọi p Pivot_table trên tập hợp con dữ liệu này. Phương thức p Pivot_table lấy một chỉ số tham số. Như đã đề cập, chúng tôi muốn sử dụng Năm làm chỉ mục.
movies_sheet1 = pd.read_excel[excel_file, sheetname=0, index_col=0]
movies_sheet1.head[]
4
NaN |
3000000.0 |
NaN |
26435.0 |
1408975.0 |
Bây giờ chúng tôi gọi p Pivot_table trên tập hợp con dữ liệu này. Phương thức p Pivot_table lấy một chỉ số tham số. Như đã đề cập, chúng tôi muốn sử dụng Năm làm chỉ mục.
Chúng ta có thể sử dụng bảng xoay này để tạo một số trực quan hóa dữ liệu. Chúng ta có thể gọi phương thức cốt truyện trên DataFrame để tạo một biểu đồ dòng và gọi phương thức hiển thị để hiển thị cốt truyện trong sổ ghi
chép.
movies_sheet1 = pd.read_excel[excel_file, sheetname=0, index_col=0]
movies_sheet1.head[]
5Điều này đã cho chúng tôi một bảng trụ cột với việc phân nhóm theo Năm và tổng hợp trên tổng Thu nhập gộp. Lưu ý, chúng tôi đã không cần chỉ định rõ ràng cột Thu nhập gộp vì Pandas tự động xác định đó là các giá trị nên áp dụng tóm tắt. Chúng ta có thể sử dụng bảng xoay này để tạo một số trực quan hóa dữ liệu. Chúng ta có thể gọi phương thức cốt truyện trên DataFrame để tạo một biểu đồ dòng và gọi phương thức hiển thị để hiển thị cốt truyện trong sổ ghi chép. Chúng tôi đã thấy làm thế nào để xoay vòng với một cột duy nhất là chỉ mục. Mọi thứ sẽ trở nên thú vị hơn nếu chúng ta có thể sử dụng nhiều cột. Chúng ta hãy tạo ra một tập hợp con DataFrame khác nhưng lần này chúng ta sẽ chọn các cột, Quốc gia, Ngôn ngữ và Tổng thu nhập.
NaN | NaN | NaN |
NaN | NaN | 3000000.0 |
NaN | NaN | NaN |
Bây giờ chúng tôi gọi p Pivot_table trên tập hợp con dữ liệu này. Phương thức p Pivot_table lấy một chỉ số tham số. Như đã đề cập, chúng tôi muốn sử dụng Năm làm chỉ mục. | Điều này đã cho chúng tôi một bảng trụ cột với việc phân nhóm theo Năm và tổng hợp trên tổng Thu nhập gộp. Lưu ý, chúng tôi đã không cần chỉ định rõ ràng cột Thu nhập gộp vì Pandas tự động xác định đó là các giá trị nên áp dụng tóm tắt. Chúng ta có thể sử dụng bảng xoay này để tạo một số trực quan hóa dữ liệu. Chúng ta có thể gọi phương thức cốt truyện trên DataFrame để tạo một biểu đồ dòng và gọi phương thức hiển thị để hiển thị cốt truyện trong sổ ghi chép. | 26435.0 |
Bây giờ chúng tôi gọi p Pivot_table trên tập hợp con dữ liệu này. Phương thức p Pivot_table lấy một chỉ số tham số. Như đã đề cập, chúng tôi muốn sử dụng Năm làm chỉ mục. | Điều này đã cho chúng tôi một bảng trụ cột với việc phân nhóm theo Năm và tổng hợp trên tổng Thu nhập gộp. Lưu ý, chúng tôi đã không cần chỉ định rõ ràng cột Thu nhập gộp vì Pandas tự động xác định đó là các giá trị nên áp dụng tóm tắt. Chúng ta có thể sử dụng bảng xoay này để tạo một số trực quan hóa dữ liệu. Chúng ta có thể gọi phương thức cốt truyện trên DataFrame để tạo một biểu đồ dòng và gọi phương thức hiển thị để hiển thị cốt truyện trong sổ ghi chép. | 9950.0 |
Chúng tôi đã thấy làm thế nào để xoay vòng với một cột duy nhất là chỉ mục. Mọi thứ sẽ trở nên thú vị hơn nếu chúng ta có thể sử dụng nhiều cột. Chúng ta hãy tạo ra một tập hợp con DataFrame khác nhưng lần này chúng ta sẽ chọn các cột, Quốc gia, Ngôn ngữ và Tổng thu nhập.
movies_sheet1 = pd.read_excel[excel_file, sheetname=0, index_col=0]
movies_sheet1.head[]
7
1.127331e+06 |
7.230936e+06 |
1.007614e+07 |
6.165429e+06 |
5.052950e+05 |
Aruba
movies_sheet1 = pd.read_excel[excel_file, sheetname=0, index_col=0]
movies_sheet1.head[]
8English
Australia
movies_sheet1 = pd.read_excel[excel_file, sheetname=0, index_col=0]
movies_sheet1.head[]
9Aboriginal
movies_sheet2 = pd.read_excel[excel_file, sheetname=1, index_col=0]
movies_sheet2.head[]
0
Hãy để trực quan hóa bảng này với một cốt truyện thanh. Vì vẫn còn vài trăm bản ghi trong bảng xoay vòng này, chúng tôi sẽ chỉ vẽ một vài trong số chúng. | 1916.0 | Xuất kết quả ra file Excel – Python Pandas Excel | NaN | NaN | Bây giờ chúng tôi gọi p Pivot_table trên tập hợp con dữ liệu này. Phương thức p Pivot_table lấy một chỉ số tham số. Như đã đề cập, chúng tôi muốn sử dụng Năm làm chỉ mục. | 123.0 | 1.33 | 385907.0 | NaN | Điều này đã cho chúng tôi một bảng trụ cột với việc phân nhóm theo Năm và tổng hợp trên tổng Thu nhập gộp. Lưu ý, chúng tôi đã không cần chỉ định rõ ràng cột Thu nhập gộp vì Pandas tự động xác định đó là các giá trị nên áp dụng tóm tắt. Chúng ta có thể sử dụng bảng xoay này để tạo một số trực quan hóa dữ liệu. Chúng ta có thể gọi phương thức cốt truyện trên DataFrame để tạo một biểu đồ dòng và gọi phương thức hiển thị để hiển thị cốt truyện trong sổ ghi chép. | 22.0 | 9.0 | 481 | 691 | 1.0 | 10718 | 88.0 | 69.0 | 8.0 | NaN |
Chúng tôi đã thấy làm thế nào để xoay vòng với một cột duy nhất là chỉ mục. Mọi thứ sẽ trở nên thú vị hơn nếu chúng ta có thể sử dụng nhiều cột. Chúng ta hãy tạo ra một tập hợp con DataFrame khác nhưng lần này chúng ta sẽ chọn các cột, Quốc gia, Ngôn ngữ và Tổng thu nhập. | 1920.0 | 6 | NaN | NaN | NaN | 110.0 | 1.33 | 100000.0 | 3000000.0 | Điều này đã cho chúng tôi một bảng trụ cột với việc phân nhóm theo Năm và tổng hợp trên tổng Thu nhập gộp. Lưu ý, chúng tôi đã không cần chỉ định rõ ràng cột Thu nhập gộp vì Pandas tự động xác định đó là các giá trị nên áp dụng tóm tắt. Chúng ta có thể sử dụng bảng xoay này để tạo một số trực quan hóa dữ liệu. Chúng ta có thể gọi phương thức cốt truyện trên DataFrame để tạo một biểu đồ dòng và gọi phương thức hiển thị để hiển thị cốt truyện trong sổ ghi chép. | 2.0 | 0.0 | 4 | 0 | 1.0 | 5 | 1.0 | 1.0 | 4.8 | 2900000.0 |
Chúng tôi đã thấy làm thế nào để xoay vòng với một cột duy nhất là chỉ mục. Mọi thứ sẽ trở nên thú vị hơn nếu chúng ta có thể sử dụng nhiều cột. Chúng ta hãy tạo ra một tập hợp con DataFrame khác nhưng lần này chúng ta sẽ chọn các cột, Quốc gia, Ngôn ngữ và Tổng thu nhập. | 1925.0 | 6 | NaN | NaN | Bây giờ chúng tôi gọi p Pivot_table trên tập hợp con dữ liệu này. Phương thức p Pivot_table lấy một chỉ số tham số. Như đã đề cập, chúng tôi muốn sử dụng Năm làm chỉ mục. | 151.0 | 1.33 | 245000.0 | NaN | Điều này đã cho chúng tôi một bảng trụ cột với việc phân nhóm theo Năm và tổng hợp trên tổng Thu nhập gộp. Lưu ý, chúng tôi đã không cần chỉ định rõ ràng cột Thu nhập gộp vì Pandas tự động xác định đó là các giá trị nên áp dụng tóm tắt. Chúng ta có thể sử dụng bảng xoay này để tạo một số trực quan hóa dữ liệu. Chúng ta có thể gọi phương thức cốt truyện trên DataFrame để tạo một biểu đồ dòng và gọi phương thức hiển thị để hiển thị cốt truyện trong sổ ghi chép. | 12.0 | 6.0 | 108 | 226 | 0.0 | 4849 | 45.0 | 48.0 | 8.3 | NaN |
Chúng tôi đã thấy làm thế nào để xoay vòng với một cột duy nhất là chỉ mục. Mọi thứ sẽ trở nên thú vị hơn nếu chúng ta có thể sử dụng nhiều cột. Chúng ta hãy tạo ra một tập hợp con DataFrame khác nhưng lần này chúng ta sẽ chọn các cột, Quốc gia, Ngôn ngữ và Tổng thu nhập. | 1927.0 | 6 | Điều này đã cho chúng tôi một bảng trụ cột với việc phân nhóm theo Năm và tổng hợp trên tổng Thu nhập gộp. Lưu ý, chúng tôi đã không cần chỉ định rõ ràng cột Thu nhập gộp vì Pandas tự động xác định đó là các giá trị nên áp dụng tóm tắt. Chúng ta có thể sử dụng bảng xoay này để tạo một số trực quan hóa dữ liệu. Chúng ta có thể gọi phương thức cốt truyện trên DataFrame để tạo một biểu đồ dòng và gọi phương thức hiển thị để hiển thị cốt truyện trong sổ ghi chép. | Bây giờ chúng tôi gọi p Pivot_table trên tập hợp con dữ liệu này. Phương thức p Pivot_table lấy một chỉ số tham số. Như đã đề cập, chúng tôi muốn sử dụng Năm làm chỉ mục. | Bây giờ chúng tôi gọi p Pivot_table trên tập hợp con dữ liệu này. Phương thức p Pivot_table lấy một chỉ số tham số. Như đã đề cập, chúng tôi muốn sử dụng Năm làm chỉ mục. | 145.0 | 1.33 | 6000000.0 | 26435.0 | Điều này đã cho chúng tôi một bảng trụ cột với việc phân nhóm theo Năm và tổng hợp trên tổng Thu nhập gộp. Lưu ý, chúng tôi đã không cần chỉ định rõ ràng cột Thu nhập gộp vì Pandas tự động xác định đó là các giá trị nên áp dụng tóm tắt. Chúng ta có thể sử dụng bảng xoay này để tạo một số trực quan hóa dữ liệu. Chúng ta có thể gọi phương thức cốt truyện trên DataFrame để tạo một biểu đồ dòng và gọi phương thức hiển thị để hiển thị cốt truyện trong sổ ghi chép. | 23.0 | 18.0 | 203 | 12000 | 1.0 | 111841 | 413.0 | 260.0 | 8.3 | -5973565.0 |
Chúng tôi đã thấy làm thế nào để xoay vòng với một cột duy nhất là chỉ mục. Mọi thứ sẽ trở nên thú vị hơn nếu chúng ta có thể sử dụng nhiều cột. Chúng ta hãy tạo ra một tập hợp con DataFrame khác nhưng lần này chúng ta sẽ chọn các cột, Quốc gia, Ngôn ngữ và Tổng thu nhập. | 1929.0 | 6 | Điều này đã cho chúng tôi một bảng trụ cột với việc phân nhóm theo Năm và tổng hợp trên tổng Thu nhập gộp. Lưu ý, chúng tôi đã không cần chỉ định rõ ràng cột Thu nhập gộp vì Pandas tự động xác định đó là các giá trị nên áp dụng tóm tắt. Chúng ta có thể sử dụng bảng xoay này để tạo một số trực quan hóa dữ liệu. Chúng ta có thể gọi phương thức cốt truyện trên DataFrame để tạo một biểu đồ dòng và gọi phương thức hiển thị để hiển thị cốt truyện trong sổ ghi chép. | Bây giờ chúng tôi gọi p Pivot_table trên tập hợp con dữ liệu này. Phương thức p Pivot_table lấy một chỉ số tham số. Như đã đề cập, chúng tôi muốn sử dụng Năm làm chỉ mục. | Bây giờ chúng tôi gọi p Pivot_table trên tập hợp con dữ liệu này. Phương thức p Pivot_table lấy một chỉ số tham số. Như đã đề cập, chúng tôi muốn sử dụng Năm làm chỉ mục. | 110.0 | 1.33 | NaN | 9950.0 | Điều này đã cho chúng tôi một bảng trụ cột với việc phân nhóm theo Năm và tổng hợp trên tổng Thu nhập gộp. Lưu ý, chúng tôi đã không cần chỉ định rõ ràng cột Thu nhập gộp vì Pandas tự động xác định đó là các giá trị nên áp dụng tóm tắt. Chúng ta có thể sử dụng bảng xoay này để tạo một số trực quan hóa dữ liệu. Chúng ta có thể gọi phương thức cốt truyện trên DataFrame để tạo một biểu đồ dòng và gọi phương thức hiển thị để hiển thị cốt truyện trong sổ ghi chép. | 20.0 | 3.0 | 455 | 926 | 1.0 | 7431 | 84.0 | 71.0 | 8.0 | NaN |
Chúng tôi đã thấy làm thế nào để xoay vòng với một cột duy nhất là chỉ mục. Mọi thứ sẽ trở nên thú vị hơn nếu chúng ta có thể sử dụng nhiều cột. Chúng ta hãy tạo ra một tập hợp con DataFrame khác nhưng lần này chúng ta sẽ chọn các cột, Quốc gia, Ngôn ngữ và Tổng thu nhập.
movies_sheet2 = pd.read_excel[excel_file, sheetname=1, index_col=0]
movies_sheet2.head[]
1
movies_sheet1 = pd.read_excel[excel_file, sheetname=0, index_col=0]
movies_sheet1.head[]
6Chúng ta có thể sử dụng các tùy chọn đầu ra nâng cao này bằng cách tạo một đối tượng ExcelWriter và sử dụng đối tượng này để ghi vào tệp EXcel.
movies_sheet2 = pd.read_excel[excel_file, sheetname=1, index_col=0]
movies_sheet2.head[]
2Country
movies_sheet2 = pd.read_excel[excel_file, sheetname=1, index_col=0]
movies_sheet2.head[]
3Language
movies_sheet2 = pd.read_excel[excel_file, sheetname=1, index_col=0]
movies_sheet2.head[]
4USA
Giống như thế này, người ta có thể sử dụng XlsxWriter để áp dụng các định dạng khác nhau cho tệp Excel đầu ra.
Germany
German
Mặt khác, Excel là một công cụ dữ liệu được sử dụng rộng rãi như vậy, nó không phải là một cách khôn ngoan để bỏ qua nó. Có được kiến thức chuyên môn trong cả Pandas và Excel và khiến chúng hoạt động cùng nhau mang lại cho bạn những kỹ năng có thể giúp bạn nổi bật trong tổ chức của mình.
Nếu bạn đang muốn tìm hiểu thêm về Pandas và Data Analysis thì hãy tới ngay Nordic Coder– Trung tâm đào tạo lập trình hàng đầu với khoá học Data Analysis với Python.Nordic Coder– Trung tâm đào tạo lập trình hàng đầu với khoá học Data Analysis với Python.