​​​​​​​Python ใน Excel กําลังเผยแพร่ให้กับผู้ใช้ Enterprise และ Business ที่ใช้งานแชนเนลปัจจุบันบน Windows โดยเริ่มจากเวอร์ชัน 2407 (รุ่น 17830.20128) พร้อมใช้งานในการแสดงตัวอย่างสําหรับผู้ใช้ครอบครัวและส่วนบุคคลที่ใช้งานแชนเนลปัจจุบันบน Windows โดยเริ่มจากเวอร์ชัน 2405 (รุ่น 17628.20164) Python ใน Excel จะพร้อมใช้งานในการแสดงตัวอย่างสําหรับผู้ใช้ Education ที่ใช้งานแชนเนลปัจจุบัน (ตัวอย่าง) ผ่านโปรแกรม Microsoft 365 Insider ​​​​​​​

ซึ่งจะเผยแพร่ไปยัง Excel สําหรับ Windows ก่อน จากนั้นไปยังแพลตฟอร์มอื่นๆ ในภายหลัง สําหรับข้อมูลความพร้อมใช้งานเพิ่มเติม ให้ดู Python ในความพร้อมใช้งานของ Excel

ถ้าคุณพบปัญหาเกี่ยวกับ Python ใน Excel โปรดรายงานโดยการเลือก วิธีใช้ > คําติชม ใน Excel

ไม่เคยใช้ Python ใน Excel ใช่หรือไม่ เริ่มต้นด้วยบทนําสู่ Python ใน Excel และเริ่มต้นใช้งาน Python ใน Excel

ใช้ไลบรารี Python แบบโอเพนซอร์สเพื่อสร้างพล็อตและแผนภูมิ 

งู Python ใน Excel มาพร้อมกับไลบรารี Python หลักของ Anaconda บทความนี้อธิบายวิธีใช้ไลบรารี Python เช่น seabornและ matplotlib เพื่อสร้างพล็อตและแผนภูมิ เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับไลบรารีโอเพนซอร์สที่พร้อมใช้งานกับ Python ใน Excel ให้ดู ไลบรารีและ Python โอเพนซอร์สใน Excel 

ตัวอย่างในบทความนี้ใช้ชุดข้อมูลดอกไม้ไอริส ดาวน์โหลดเวิร์กบุ๊กตัวอย่างนี้เพื่อติดตามบทความ: python-in-excel-iris-dataset.xlsx 

สร้างพล็อตคู่กับ seaborn 

ตัวอย่างนี้แสดงวิธีการสร้างการแสดงภาพการลงจุดคู่ของชุดข้อมูลดอกไม้ไอริส การลงจุดคู่คือเมทริกซ์ของจุดและแผนภูมิที่เปรียบเทียบความสัมพันธ์ระหว่างแต่ละตัวแปรในชุดข้อมูล ในกรณีนี้ ชุดข้อมูลดอกไม้ม่านตาประกอบด้วยข้อมูลตัวเลขสี่คอลัมน์ ได้แก่ sepal_lengthsepal_widthpetal_length และ petal_width 

ใช้ Python ใน Excel เพื่อสร้างการลงจุดคู่กับไลบรารี Seaborn

งู Python ใน Excel จะสร้างการแสดงภาพด้วยไลบรารี Seaborn ไลบรารี Seabornจะถูกนําเข้าสําหรับ Python ใน Excel โดยอัตโนมัติด้วยคําสั่งนําเข้าต่อไปนี้ เพื่อให้คุณอ้างอิงด้วยนามแฝง  

import seaborn as sns 

เมื่อต้องการสร้างการลงจุดคู่ของชุดข้อมูลดอกไม้ไอริสกับไลบรารี Seaborn ให้ทําตามขั้นตอนต่อไปนี้:

  1. ใส่ส่วนย่อยของโค้ดต่อไปนี้ในเซลล์ Python ใน Excel ส่วนย่อยของโค้ดจะจัดเก็บการลงจุดคู่เป็นตัวแปรที่เรียกว่า pairplot  มันสร้างพล็อตคู่กับ sns ไลบรารี seaborn นามแฝงและฟังก์ชั่น seaborn จับคู่ pairplot = sns.pairplot(xl("Table1[#All]", headers=True)) เนื่องจากอาร์กิวเมนต์สําหรับฟังก์ชัน pairplot ส่วนย่อยของโค้ดจะใช้ฟังก์ชัน Python แบบกําหนดเอง xl() และอ้างอิงตารางแรกในเวิร์กชีต Table1 ซึ่งรวมถึงเนื้อหาทั้งตาราง (เป็น [#All]) และบันทึกย่อที่ตารางมีแถวส่วนหัว (เป็นส่วนหัว=True) ในตัวอย่างนี้ Table1 ในเวิร์กชีตจะมีชุดข้อมูล Iris ดูตัวอย่างการลงจุดคู่ใน DataFrame

    หมายเหตุ: ถ้าคุณพบข้อผิดพลาดใดๆ ให้ดู แก้ไขปัญหาข้อผิดพลาด Python ใน Excel สําหรับข้อมูลเพิ่มเติม 

  2. หลังจากยอมรับสูตร Python ของคุณแล้ว Python ใน Excel จะส่งกลับการแสดงภาพการลงจุดคู่ในวัตถุรูป เลือกไอคอนการ์ดในเซลล์วัตถุรูปเพื่อดูตัวอย่างการแสดงภาพ ดูตัวอย่างการลงจุดในการ์ด DataFrame

  3. เก็บการแสดงภาพเป็นวัตถุรูปภาพเพื่อใช้งานต่อสําหรับการคํานวณ Python แยกรูปภาพไปยังเส้นตาราง Excel เพื่อปรับขนาด และดูรายละเอียดเพิ่มเติมในแต่ละจุด เมื่อต้องการแยกรูปภาพไปยังเส้นตาราง ให้คลิกขวาหรือ Ctrl+คลิกบนเซลล์ที่มีวัตถุรูป แล้วเลือก แสดงการลงจุดบนเซลล์ จากเมนูสําหรับข้อมูลเพิ่มเติมเกี่ยวกับการแยกวัตถุรูป ให้ดูส่วน แยกวัตถุรูปไปยังบทความเส้นตาราง Excel ในบทความนี้

สร้างจุดกระจายด้วย Matplotlib 

ตัวอย่างนี้อธิบายวิธีการสร้างจุดกระจายด้วยชุดข้อมูลตัวอย่างดอกไม้ไอริส แผนภูมิกระจายแสดงความสัมพันธ์ระหว่างตัวแปรตัวเลขสองตัวในชุดข้อมูล ตัวอย่างจะสร้างจุดกระจายที่มีลักษณะเหมือนกับสกรีนช็อตต่อไปนี้ เปรียบเทียบค่า sepal_width และค่า sepal_length

ใช้ Python ใน Excel เพื่อสร้างการลงจุดกระจายกับไลบรารี matplotlib

Python ใน Excel จะสร้างการแสดงภาพด้วยไลบรารีโอเพนซอร์ส Matplotlib ไลบรารี Matplotlibจะถูกนําเข้าสําหรับ Python ใน Excel โดยอัตโนมัติด้วยคําสั่งนําเข้าต่อไปนี้ เพื่อให้คุณอ้างอิงเป็นลงจุด  

import matplotlib.pyplot as plt 

เมื่อต้องการสร้างจุดกระจายของชุดข้อมูลดอกไม้ไอริสด้วยไลบรารี Matplotlib ให้ทําตามขั้นตอนต่อไปนี้:

  1. ในเซลล์ Python ใน Excel ให้ใช้ฟังก์ชัน กระจายmatplotlib และใส่ sepal_length และ sepal_width คอลัมน์ของชุดข้อมูล Iris เป็นอาร์กิวเมนต์ ในตัวอย่างนี้ Table1 ในเวิร์กชีตจะมีชุดข้อมูล Irisplt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))

  2. เพิ่มป้ายชื่อและชื่อเรื่องลงในจุดกระจาย  # 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')

    หมายเหตุ: คุณสามารถเพิ่มส่วนย่อยของโค้ดนี้เป็นบรรทัดโค้ดเพิ่มเติมหลังจากสูตร Python ในขั้นตอนก่อนหน้า ในเซลล์ Excel เดียวกัน หรือคุณสามารถใส่ลงในเซลล์ Python ใหม่ในเซลล์ Excel ในเวิร์กบุ๊กของคุณได้ ถ้าคุณเลือกที่จะใส่ข้อมูลลงในเซลล์ใหม่ ตรวจสอบให้แน่ใจว่าได้ทําตามกฎลําดับการคํานวณหลักในแถวแล้วใส่หลังเซลล์แรก

  3. หลังจากใส่สูตร Python ของคุณแล้ว Python ใน Excel จะส่งกลับการแสดงภาพพล็อตกระจายเป็นวัตถุรูปภาพ เลือกไอคอนการ์ดในเซลล์วัตถุรูปเพื่อดูตัวอย่างการแสดงภาพ  ดูตัวอย่างของจุดกระจายใน DataFrame

    หมายเหตุ: ถ้าคุณพบข้อผิดพลาดใดๆ ให้ดู แก้ไขปัญหาข้อผิดพลาด Python ใน Excel สําหรับข้อมูลเพิ่มเติม  

  4. เก็บการแสดงภาพเป็นวัตถุรูปภาพเพื่อใช้สําหรับการคํานวณ Python ต่อไป แยกรูปภาพไปยังเส้นตาราง Excel เพื่อปรับขนาดและดูรายละเอียดเพิ่มเติม เมื่อต้องการแยกรูปภาพไปยังเส้นตาราง ให้คลิกขวาหรือ Ctrl+คลิกบนเซลล์ที่มีวัตถุรูป แล้วเลือก แสดงการลงจุดบนเซลล์ จากเมนูสําหรับข้อมูลเพิ่มเติมเกี่ยวกับการแยกวัตถุรูป ให้ดูส่วน แยกวัตถุรูปไปยังบทความเส้นตาราง Excel ในบทความนี้

แยกวัตถุรูปไปยังเส้นตาราง Excel

ดังที่สาธิตโดยตัวอย่างในบทความนี้ ไลบรารี Python เช่น seaborn และ Matplotlib สามารถส่งกลับการแสดงภาพข้อมูลไปยังเซลล์ Excel ได้ ตามค่าเริ่มต้น Python ใน Excel จะส่งกลับการแสดงภาพเหล่านี้เป็นวัตถุรูปภาพ 

เลือกไอคอนการ์ดในเซลล์วัตถุรูปเพื่อดูตัวอย่างการแสดงภาพ

ดูตัวอย่างการลงจุดในการ์ด DataFrame

มีสองวิธีในการแยกรูปไปยังเส้นตาราง Excel: แสดงรูปเป็นการลงจุดบนเซลล์หรือแสดงรูปภายในเซลล์

แสดงรูปเหนือเซลล์

ทําตามขั้นตอนเหล่านี้เพื่อแสดงรูปเป็นการลงจุดบนเซลล์

  1. คลิกขวาหรือ Ctrl+คลิกบนเซลล์ที่มีวัตถุรูป แล้วเลือก แสดงการลงจุดบนเซลล์ จากเมนู (หรือใช้แป้นพิมพ์ลัด Ctrl+Alt+Shift+C) ซึ่งจะสร้างสําเนาของรูปที่ลอยอยู่เหนือเส้นตาราง Excel และสามารถปรับขนาดได้อย่างง่ายดาย วัตถุรูปต้นฉบับจะยังคงอยู่ในเซลล์ต้นฉบับ

  2. เลือกและลากรูปการลงจุดเพื่อย้ายไปรอบๆ เวิร์กชีตของคุณ เลือกและลากโหนดที่มุมและด้านข้างของรูปภาพเพื่อปรับขนาด สร้างการแสดงภาพพล็อตลอยด้วยไอคอน สร้างการอ้างอิง

แสดงรูปภายในเซลล์

ทําตามขั้นตอนเหล่านี้เพื่อแสดงรูปภายในเซลล์

  1. ส่งกลับวัตถุรูปเป็นค่า Excel เลือกเซลล์วัตถุรูปภาพ ไปที่เมนูผลลัพธ์ Python ในแถบสูตร แล้วเลือก ค่า Excel   ใช้เมนูผลลัพธ์ Python ที่อยู่ถัดจากแถบสูตรเพื่อเปลี่ยนชนิดผลลัพธ์ รูปการลงจุดจะแสดงภายในเซลล์

    เคล็ดลับ: เมื่อต้องการสลับผลลัพธ์ของสูตร Python ระหว่างวัตถุ Python และค่า Excel ให้ใช้แป้นพิมพ์ลัด Ctrl+Alt+Shift+M เมื่อต้องการเรียนรู้แป้นพิมพ์ลัดเพิ่มเติม ให้ดู Python ในแป้นพิมพ์ลัดของ Excel

  2. ขนาดของรูปการลงจุดจะขึ้นอยู่กับขนาดของเซลล์ เพิ่มขนาดของรูปโดยการเพิ่มขนาดของเซลล์ หรือโดยการผสานเซลล์

สร้างจุดและแผนภูมิของคุณเอง 

ตอนนี้คุณได้เรียนรู้วิธีการสร้าง Python ในแผนภูมิและจุด Excel ด้วยชุดข้อมูลตัวอย่างแล้ว ให้ใส่ข้อมูลของคุณเองลงในเวิร์กบุ๊ก Excel และสร้างการแสดงภาพแบบกําหนดเอง  

เมื่อต้องการนําเข้าข้อมูลภายนอกสําหรับใช้กับ Python ใน Excel ให้ใช้ Power Query เมื่อต้องการเรียนรู้เพิ่มเติม ให้ดู ใช้ Power Query เพื่อนําเข้าข้อมูลสําหรับ Python ใน Excel

ใช้ฟอนต์ที่ต่างกันสําหรับภาษาที่ไม่ใช่ภาษาอังกฤษ 

เมื่อต้องการทําแผนภูมิข้อมูลที่ใช้อักขระที่ไม่ใช่ตัวอักษรละติน เช่น จีน เกาหลี หรือไทย ให้ใช้ excel.FontPath ตามค่าเริ่มต้น Python ใน Excel จะแสดงอักขระที่ไม่ใช่ตัวอักษรละตินเป็นช่องสี่เหลี่ยมว่าง ('□') เพื่อแก้ไขปัญหานี้ excel.FontPath อนุญาตให้คุณใช้โมดูล excel เพื่อเรียกแบบอักษรอื่นและแสดงอักขระ

แบบอักษรต่อไปนี้จะพร้อมใช้งาน แอตทริบิวต์จะถูกผนวกเข้ากับ excel.FontPath ในรหัส Python ของคุณ เส้นทางอ้างอิงไปยังแฟ้มแบบอักษรที่เรียกโดยแอตทริบิวต์

แอตทริบิวต์

เส้นทาง

เบนกาลี

/usr/share/fonts/Vrinda.ttf

CHINESE_SIMPLIFIED

/usr/share/fonts/SimSun.ttf

CHINESE_TRADITIONAL

/usr/share/fonts/MingLiU.ttf

ฮินดี

/usr/share/fonts/Mangal.ttf

ญี่ปุ่น

/usr/share/fonts/Meiryo.ttf

เกาหลี

/usr/share/fonts/Batang.ttf

ไทย

/usr/share/fonts/THSarabunPSK.ttf

ยอดเยี่ยม ตัวอย่าง FontPath

ก่อน

แผนภูมินี้ไม่สามารถแสดงป้ายชื่อการลงจุดที่เหมาะสมได้ เนื่องจากฟอนต์เริ่มต้นไม่สนับสนุนอักขระที่มีให้

แผนภูมิที่มีอักขระไม่แสดง

ตัวอย่างโค้ดสําหรับป้ายชื่อแผนภูมิที่แสดงไม่ถูกต้อง: 

import matplotlib.pyplot as plt

# Make the plot.

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

# Show the plot.

plt.show()

หลังจาก

เมื่อต้องการแก้ไขป้ายชื่อแผนภูมิในตัวอย่างนี้ ให้ใช้ excel.FontPath.CHINESE_SIMPLIFIED เพื่อแสดงอักขระภาษาจีนที่มีให้อย่างถูกต้อง 

แผนภูมิที่มีอักขระแสดงอย่างถูกต้อง

ตัวอย่างโค้ดสําหรับป้ายชื่อแผนภูมิที่แสดงได้อย่างถูกต้อง: 

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()

บทความที่เกี่ยวข้อง 

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย