​​​​​​​Python trong Excel hiện đang được triển khai cho người dùng Doanh nghiệp và Doanh nghiệp đang chạy Kênh Hiện tại trên Windows, bắt đầu với Phiên bản 2407 (Bản dựng 17830.20128). Tính năng này có sẵn trong bản xem trước cho người dùng Gia đình và Cá nhân chạy Kênh Hiện tại trên Windows bắt đầu từ Phiên bản 2405 (Bản dựng 17628.20164). Python trong Excel có sẵn trong bản xem trước cho người dùng Giáo dục đang chạy Kênh Hiện tại (Bản xem trước) thông qua Chương trình Người dùng nội bộ Microsoft 365. ​​​​​​​

Phiên bản này sẽ được triển khai cho Excel for Windows trước, rồi đến các nền tảng khác vào một ngày sau đó. Để biết thêm thông tin về tính sẵn dùng, hãy xem Python trong Excel khả dụng.

Nếu bạn gặp bất kỳ mối lo ngại nào với Python trong Excel, vui lòng báo cáo chúng bằng cách chọn Trợ > Phản hồi trong Excel.

Bạn mới làm quen với Python trong Excel? Bắt đầu với Phần giới thiệu về Python trong Excelvà Bắt đầu với Python trong Excel.

Sử dụng thư viện Python nguồn mở để tạo biểu đồ và biểu đồ 

Python trong Excel đi kèm với một tập hợp cốt lõi các thư viện Python được cung cấp bởi Anaconda. Bài viết này mô tả cách sử dụng thư viện Python, chẳng hạn như seabornvà matplotlib, để tạo các biểu đồ và biểu đồ. Để tìm hiểu thêm về các thư viện mã nguồn mở sẵn dùng với Python trong Excel, hãy xem Thư viện nguồn mở và Python trong Excel

Các ví dụ trong bài viết này sử dụng tập dữ liệu Hoa mống mắt. Tải xuống sổ làm việc mẫu này để làm theo cùng với bài viết: python-in-excel-iris-dataset.xlsx

Tạo một âm mưu cặp với seaborn 

Ví dụ này cho thấy cách tạo trực quan hóa hình vẽ cặp của tập dữ liệu hoa Mống mắt. Biểu đồ ghép nối là ma trận các biểu đồ và biểu đồ so sánh mối quan hệ giữa mỗi biến số trong một tập dữ liệu. Trong trường hợp này, tập dữ liệu hoa Mống mắt chứa bốn cột dữ liệu số: sepal_length, sepal_width, petal_lengthpetal_width

Sử dụng Python trong Excel để tạo một cốt truyện cặp với thư viện seaborn.

Python trong Excel tạo ra trực quan hóa với thư viện seaborn. Thư viện seabornđược tự động nhập cho Python trong Excel với câu lệnh nhập sau đây, cho phép bạn tham khảo nó với biệt danh sns.  

import seaborn as sns 

Để tạo một cặp đồ thị dữ liệu hoa Mống mắt với thư viện seaborn, hãy thực hiện các bước sau:

  1. Nhập đoạn mã sau đây vào một Python trong ô Excel. Đoạn mã lưu trữ biểu đồ cặp dưới dạng một biến được gọi là pairplot.  Nó tạo ra các cốt truyện cặp với bí danh thư viện seaborn và các pairplot chức năng seabornpairplot = sns.pairplot(xl("Table1[#All]", headers=True)) Là đối số của hàm pairplot, đoạn mã sử dụng hàm Python tùy chỉnh xl() và tham chiếu bảng đầu tiên trong trang tính, Table1. Bao gồm toàn bộ nội dung của bảng (như [#All]) và các ghi chú mà bảng có chứa hàng tiêu đề ( như tiêu đề=True). Trong ví dụ này, Table1 trong trang tính chứa tập dữ liệu Mống mắt.Xem bản xem trước vẽ cặp trong DataFrame.

    Lưu ý: Nếu bạn gặp bất kỳ lỗi nào, hãy xem khắc phục lỗi Python trong Excel để biết thêm thông tin. 

  2. Sau khi cam kết công thức Python của bạn, Python trong Excel trả về trực quan hóa biểu đồ cặp trong một đối tượng hình ảnh. Chọn biểu tượng thẻ trong ô đối tượng hình ảnh để xem trước trực quan hóa.Xem bản xem trước của biểu đồ trong thẻ DataFrame.

  3. Giữ trực quan hóa dưới dạng đối tượng Hình ảnh để tiếp tục sử dụng để tính toán Python. Trích xuất hình ảnh vào lưới Excel để đổi kích cỡ hình ảnh và xem từng vẽ một cách chi tiết hơn. Để trích xuất hình ảnh vào lưới, hãy bấm chuột phải hoặc Ctrl+bấm vào ô có chứa đối tượng hình ảnh và chọn Hiển thị Vẽ trên Ô từ menu.Để biết thêm thông tin về việc trích xuất đối tượng hình ảnh, hãy xem mục Trích xuất đối tượng hình ảnh vào bài viết lưới Excel trong bài viết này.

Tạo một âm mưu phân tán với Matplotlib 

Ví dụ này mô tả cách tạo biểu đồ tán xạ với tập dữ liệu mẫu hoa Mống mắt. Một biểu đồ tán xạ hiển thị mối quan hệ giữa hai biến số trong một tập dữ liệu. Ví dụ tạo ra một biểu đồ phân tán trông giống như ảnh chụp màn hình sau đây, so sánh các giá sepal_width sepal_length trị.

Sử dụng Python trong Excel để tạo một cốt truyện phân tán với thư viện matplotlib.

Python trong Excel sẽ tạo trực quan hóa bằng thư viện mã nguồn mở Matplotlib. Thư viện Matplotlibđược tự động nhập cho Python trong Excel với câu lệnh nhập sau đây, cho phép bạn tham khảo thư viện dưới dạng plt.  

import matplotlib.pyplot as plt 

Để tạo ra một biểu đồ phân tán của tập dữ liệu hoa Mống mắt với thư viện Matplotlib, hãy thực hiện các bước sau đây:

  1. Trong một Python trong ô Excel, hãy dùng hàm tán xạ matplotlib nhập các cột sepal_length sepal_width của tập dữ liệu Mống mắt làm các đối số. Trong ví dụ này, Table1 trong trang tính chứa tập dữ liệu Mống mắt.plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))

  2. Thêm nhãn và tiêu đề vào biểu đồ phân tán.  # Label the x and y axes of the plot. plt.xlabel('sepal_length') plt.ylabel('sepal_width')   # Add a title to the plot.  plt.title('Sepal length and width analysis')

    Lưu ý: Bạn có thể thêm đoạn mã này dưới dạng một dòng mã bổ sung sau công thức Python ở bước trước đó, trong cùng ô Excel hoặc bạn có thể nhập nó vào ô Python mới trong ô Excel trong sổ làm việc của mình. Nếu bạn chọn nhập vào ô mới, hãy đảm bảo tuân theo các quy tắc thứ tự tính toán chính của hàng và nhập vào sau ô đầu tiên.

  3. Sau khi cam kết công thức Python của bạn, Python trong Excel trả về trực quan hóa biểu đồ tán xạ như một đối tượng hình ảnh. Chọn biểu tượng thẻ trong ô đối tượng hình ảnh để xem trước trực quan hóa.  Xem bản xem trước của biểu đồ tán xạ trong DataFrame.

    Lưu ý: Nếu bạn gặp bất kỳ lỗi nào, hãy xem khắc phục lỗi Python trong Excel để biết thêm thông tin.  

  4. Hãy giữ trực quan hóa như một đối tượng hình ảnh để tiếp tục sử dụng nó để tính toán Python. Trích xuất hình ảnh vào lưới Excel để đổi kích cỡ hình ảnh và xem biểu đồ chi tiết hơn. Để trích xuất hình ảnh vào lưới, hãy bấm chuột phải hoặc Ctrl+bấm vào ô có chứa đối tượng hình ảnh và chọn Hiển thị Vẽ trên Ô từ menu.Để biết thêm thông tin về việc trích xuất đối tượng hình ảnh, hãy xem mục Trích xuất đối tượng hình ảnh vào bài viết lưới Excel trong bài viết này.

Trích xuất một đối tượng hình ảnh vào lưới Excel

Như minh họa bằng các ví dụ trong bài viết này, các thư viện Python như seaborn và Matplotlib có thể trả về các phần trực quan hóa dữ liệu cho các ô Excel. Theo mặc định, Python trong Excel trả về các phần trực quan hóa này dưới dạng đối tượng hình ảnh. 

Chọn biểu tượng thẻ trong ô đối tượng hình ảnh để xem trước trực quan hóa.

Xem bản xem trước của biểu đồ trong thẻ DataFrame.

Có hai cách để trích xuất hình ảnh vào lưới Excel: hiển thị hình ảnh dưới dạng vẽ trên các ô hoặc hiển thị hình ảnh trong một ô.

Hiển thị ảnh trên các ô

Làm theo các bước sau để hiển thị hình ảnh dưới dạng vẽ trên ô.

  1. Bấm chuột phải hoặc Ctrl+bấm vào ô có chứa đối tượng hình ảnh và chọn Hiển thị Vẽ trên Ô từ menu (hoặc sử dụng phím tắt Ctrl+Alt+Shift+C). Thao tác này sẽ tạo ra một bản sao của hình ảnh trôi nổi trên lưới Excel và có thể được thay đổi kích cỡ dễ dàng. Đối tượng hình ảnh gốc vẫn còn trong ô ban đầu.

  2. Chọn và kéo hình ảnh vẽ để di chuyển nó xung quanh trang tính của bạn. Chọn và kéo nút ở các góc và cạnh của hình ảnh để đổi kích cỡ ảnh.Tạo trực quan hóa biểu đồ trôi nổi với biểu tượng Tạo Tham chiếu.

Hiển thị hình ảnh trong một ô

Làm theo các bước sau để hiển thị hình ảnh trong một ô.

  1. Trả về đối tượng hình ảnh dưới dạng giá trị Excel. Chọn ô đối tượng hình ảnh, đi đến menu đầu ra Python trong thanh công thức, rồi chọn Giá trị Excel.   Sử dụng menu đầu ra Python bên cạnh Thanh Công thức để thay đổi loại đầu ra. Hình vẽ bây giờ sẽ hiển thị trong ô.

    Mẹo: Để chuyển đổi kết quả công thức Python giữa các đối tượng Python và giá trị Excel, hãy sử dụng phím tắt Ctrl+Alt+Shift+M. Để tìm hiểu thêm về các lối tắt bàn phím, hãy xem Phím tắt Python trong Excel.

  2. Kích cỡ của hình ảnh vẽ phụ thuộc vào kích thước của ô. Tăng kích cỡ hình ảnh bằng cách tăng kích cỡ ô hoặc bằng cách phối các ô.

Tạo biểu đồ và biểu đồ của riêng bạn 

Bây giờ bạn đã học được cách tạo Python trong các biểu đồ và biểu đồ Excel với tập dữ liệu mẫu, nhập dữ liệu của riêng bạn vào sổ làm việc Excel và tạo trực quan hóa tùy chỉnh.  

Để nhập dữ liệu ngoài để sử dụng với Python trong Excel, hãy sử dụng Power Query. Để tìm hiểu thêm, xem mục Sử Power Query nhập dữ liệu cho Python trong Excel.

Sử dụng các phông chữ khác nhau cho ngôn ngữ không phải tiếng Anh 

Để lập biểu đồ cho dữ liệu sử dụng các ký tự không phải bảng chữ cái La-tinh, chẳng hạn như tiếng Trung, tiếng Hàn hoặc tiếng Thái, hãy sử excel.FontPath. Theo mặc định, Python trong Excel kết xuất các ký tự chữ cái không phải là chữ cái La-tinh dưới dạng một hình vuông trống ('□'). Để giải quyết vấn đề này, excel.FontPath cho phép bạn sử dụng mô-đun excel để gọi phông chữ khác và kết xuất các ký tự.

Các phông chữ sau đây sẵn dùng. Thuộc tính được chắp thêm vào excel.FontPath mã Python của bạn. Đường dẫn tham chiếu đến tệp phông chữ được gọi theo thuộc tính.

Thuộc tính

Đường dẫn

TIẾNG BENGALI

/usr/share/fonts/Vrinda.ttf

CHINESE_SIMPLIFIED

/usr/share/fonts/SimSun.ttf

CHINESE_TRADITIONAL

/usr/share/fonts/MingLiU.ttf

TIẾNG HIN-ĐI

/usr/share/fonts/Mangal.ttf

TIẾNG NHẬT

/usr/share/fonts/Meiryo.ttf

TIẾNG TRIỀU TIÊN

/usr/share/fonts/Batang.ttf

THÁI

/usr/share/fonts/THSarabunPSK.ttf

Excel. Ví dụ về FontPath

Trước

Biểu đồ này không thể kết xuất các nhãn vẽ đúng vì phông chữ mặc định không hỗ trợ các ký tự được cung cấp.

Biểu đồ có ký tự không kết xuất

Mẫu mã cho nhãn biểu đồ kết xuất không đúng cách: 

import matplotlib.pyplot as plt

# Make the plot.

myplot = pd.DataFrame({'欧文': [1,2,3], '比尔': [1,2,3]}).plot(x='欧文')

# Show the plot.

plt.show()

Sau khi

Để sửa các nhãn biểu đồ trong ví dụ này, hãy sử dụng excel.FontPath.CHINESE_SIMPLIFIED kết xuất đúng cách các ký tự tiếng Trung được cung cấp. 

Biểu đồ có ký tự kết xuất đúng cách

Mẫu mã cho nhãn biểu đồ được kết xuất đúng cách: 

import matplotlib.pyplot as plt

from matplotlib.font_manager import FontProperties

# Set the font path.

#   Returns '/usr/share/fonts/simsun.ttf'

font_path = excel.FontPath.CHINESE_SIMPLIFIED

# Point the properties to the font path.

font_properties = FontProperties(fname=font_path)

plt.rcParams['font.family'] = font_properties.get_name()

# Make the plot.

myplot = pd.DataFrame({'欧文': [1,2,3], '比尔': [1,2,3]}).plot(x='欧文')

# Show the plot.

plt.show()

Bài viết liên quan 

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.