יצירת התוויית נתונים ותרשימים באמצעות Python ב- Excel
Applies To
Excel של Microsoft 365Python ב- Excel זמין כעת למשתמשים ארגוניים ולמשתמשים עסקיים שבהם פועל הערוץ השוטף ב- Windows, החל מגירסה 2408 (גירסת Build מס' 17928.20114) וערוץ ארגוני חודשי ב- Windows, החל מגירסה 2408 (גירסת Build מס' 17928.20216). היא זמינה בתצוגה מקדימה עבור משתמשים משפחתיים ואישי שבהם פועל הערוץ השוטף ב- Windows החל מגירסה 2405 (גירסת Build מס' 17628.20164). Python ב- Excel זמין ב- Preview עבור משתמשי Education שבהם פועל הערוץ השוטף (Preview) באמצעות תוכנית Insider של Microsoft 365. הוא אינו זמין כעת עבור הערוץ Semi-Annual הארגוני.
הוא נפרס תחילה ל- Excel עבור Windows ולאחר מכן לפלטפורמות אחרות במועד מאוחר יותר. לקבלת מידע נוסף אודות זמינות, ראה זמינות Python ב- Excel.
אם אתה נתקל בבעיות כלשהן עם Python ב- Excel, דווח עליהם על-ידי בחירה בעזרה >משוב ב - Excel.
חדש ב- Python ב-Excel? התחל עם מבוא ל- Python ב- Excelוהתחל לעבוד עם Python ב- Excel.
שימוש בספריות Python בקוד פתוח כדי ליצור התוויית נתונים ותרשימים
Python ב- Excel מגיע עם ערכת ליבה של ספריות Python המסופקות על-ידי Anaconda. מאמר זה מתאר כיצד להשתמש בספריות Python, כגון יבורו- Matplotlib, כדי ליצור התוויית נתונים ותרשימים. לקבלת מידע נוסף על ספריות קוד פתוח הזמינות ב- Python ב- Excel, ראה ספריות קוד פתוח ו- Python ב- Excel.
הדוגמאות במאמר זה משתמשות בערכת הנתונים של פרחי קשתית. הורד חוברת עבודה לדוגמה זו כדי לעקוב אחר המאמר: python-in-excel-iris-dataset.xlsx.
צור צמד עלילה עם יבור
דוגמה זו מראה כיצד ליצור תצוגה חזותית של התוויית נתונים חזותית של קשתית. התוויית זוג היא מטריצה של התוויית נתונים ותרשימים המשוות בין קשר הגומלין בין כל משתנה בערכת נתונים. במקרה זה, ערכת הנתונים של פרח הקשתית מכילה ארבע עמודות של נתונים מספריים: sepal_length, sepal_width, petal_length ו- petal_width.
Python ב- Excel יוצר את הפריט החזותי עם ספריית יולדות. ספריית יולדותהים מיובאת באופן אוטומטי עבור Python ב- Excel עם משפט הייבוא הבא, ומאפשרת לך להפנות אליה באמצעות כינויי sns.
import seaborn as sns
כדי ליצור זוג תוויות של ערכת נתוני פרח הקשתית עם ספריית יולדות הים, בצע את השלבים הבאים:
-
הזן את מקטע הקוד הבא בתא Python ב- Excel. מקטע הקוד מאחסן את התוויית הנתונים של הזוג כמשתנה שנקרא pairplot. זה יוצר את התוויית הזוג עם כינוי הספריה יבורים sns ו צ'יבור הפונקציה pairplot. pairplot = sns.pairplot(xl("Table1[#All]", headers=True)) כארגומנט עבור הפונקציה pairplot, מקטע הקוד משתמש בפונקציה המותאמת אישית xl() של Python ומפנה לטבלה הראשונה בגליון העבודה, Table1. היא כוללת את תוכן העניינים כולו ( כ- [#All]) והערות שהטבלה כוללת שורת כותרת ( ככותרות=True). בדוגמה זו, Table1 בגליון העבודה מכיל את ערכת הנתונים 'קשתית'.
הערה: אם אתה נתקל בשגיאות כלשהן, ראה פתרון בעיות ב- Python בשגיאות Excel לקבלת מידע נוסף.
-
לאחר שתבצע את נוסחת Python, Python ב- Excel יחזיר את הפריט החזותי של התוויית הנתונים באובייקט תמונה. בחר את סמל הכרטיס בתא אובייקט התמונה כדי לראות תצוגה מקדימה של הפריט החזותי.
-
השאר את הפריט החזותי אובייקט תמונה כדי להמשיך להשתמש בו עבור חישובי Python. חלץ את התמונה לרשת Excel כדי לשנות את גודלה ולהצגת כל התוויית נתונים בפירוט רב יותר. כדי לחלץ את התמונה לרשת, לחץ באמצעות לחצן העכבר הימני או לחץ באמצעות לחצן העכבר הימני על התא המכיל את אובייקט התמונה ובחר הצג התוויית נתונים מעל תאים מהתפריט.
לקבלת מידע נוסף אודות חילוץ אובייקטי תמונה, עיין בסעיף חילוץ אובייקט תמונה למאמר רשת Excel במאמר זה.
יצירת התוויית פיזור עם Matplotlib
דוגמה זו מתארת כיצד ליצור התוויית פיזור עם ערכת הנתונים לדוגמה של פרח קשתית. התוויית פיזור מציגה את קשר הגומלין בין שני משתנים מספריים בערכת נתונים. הדוגמה יוצרת התוויית פיזור שנראה כמו צילום המסך הבא, sepal_width את sepal_length הפיזור .
Python ב- Excel יוצר את הפריט החזותי עם ספריית המקור הפתוח Matplotlib. ספריית Matplotlib מיובאתבאופן אוטומטי עבור Python ב- Excel עם משפט הייבוא הבא, ומאפשרת לך להפנות אליה כ - plt.
import matplotlib.pyplot as plt
כדי ליצור התוויית פיזור של ערכת נתוני פרח הקשתית עם ספריית Matplotlib, בצע את השלבים הבאים:
-
בתא Python ב- Excel, השתמש בפונקציית הפיזור Matplotlib והזן את העמודות sepal_length ו- sepal_width של ערכת הנתונים קשתית כארגומנטים. בדוגמה זו, Table1 בגליון העבודה מכיל את ערכת הנתונים 'קשתית'.plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))
-
הוסף תוויות וכותרת להתווית הפיזור. # 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 בחוברת העבודה. אם תבחר להזין אותו בתא חדש, הקפד לעקוב אחר כללי סדר החישובים הראשיים של השורה ולהזין אותו אחרי התא הראשון.
-
לאחר שתבצע את נוסחאות Python, Python ב- Excel יחזיר את הפריט החזותי של התוויית הפיזור אובייקט תמונה. בחר את סמל הכרטיס בתא אובייקט התמונה כדי לראות תצוגה מקדימה של הפריט החזותי.
הערה: אם אתה נתקל בשגיאות כלשהן, ראה פתרון בעיות ב- Python בשגיאות Excel לקבלת מידע נוסף.
-
השאר את הפריט החזותי אובייקט תמונה כדי להמשיך להשתמש בו עבור חישובי Python. חלץ את התמונה לרשת Excel כדי לשנות את גודלה ולהצג את התוויית הנתונים בפירוט רב יותר. כדי לחלץ את התמונה לרשת, לחץ באמצעות לחצן העכבר הימני או לחץ באמצעות לחצן העכבר הימני על התא המכיל את אובייקט התמונה ובחר הצג התוויית נתונים מעל תאים מהתפריט.
לקבלת מידע נוסף אודות חילוץ אובייקטי תמונה, עיין בסעיף חילוץ אובייקט תמונה למאמר רשת Excel במאמר זה.
חילוץ אובייקט תמונה לרשת Excel
כפי שדוגמה זו מודגמת במאמר זה, ספריות Python כגון יולדות ו- Matplotlib יכולות להחזיר פריטים חזותיים של נתונים לתאים של Excel. כברירת מחדל, Python ב- Excel מחזיר פריטים חזותיים אלה אובייקטים של תמונה.
בחר את סמל הכרטיס בתא אובייקט תמונה כדי לראות תצוגה מקדימה של הפריט החזותי.
קיימות שתי דרכים לחלץ תמונה לרשת Excel: הצגת התמונה כהתווה על-פני תאים או הצגת התמונה בתוך תא.
הצגת התמונה מעל תאים
בצע שלבים אלה כדי להציג את התמונה כתויית נתונים על-פני תאים.
-
לחץ באמצעות לחצן העכבר הימני או לחץ באמצעות לחצן העכבר הימני על התא המכיל את אובייקט התמונה ובחר הצג התוויית נתונים מעל תאים מהתפריט (או השתמש בקיצור המקשים Ctrl+Alt+Shift+C). פעולה זו יוצרת עותק של התמונה שצפה מעל רשת Excel ובאפשרותך לשנות את גודלה בקלות. אובייקט התמונה המקורי נשאר בתא המקורי.
-
בחר וגרור את תמונת התוויית הנתונים כדי להזיז אותה ברחבי גליון העבודה. בחר וגרור את הצמתים בפינות ובצדדים של התמונה כדי לשנות את גודלה.
הצגת התמונה בתוך תא
בצע שלבים אלה כדי להציג את התמונה בתוך תא.
-
החזר את אובייקט התמונה כערך של Excel. בחר את תא אובייקט התמונה, עבור אל תפריט הפלט של Python בשורת הנוסחאות ובחר ערך Excel.
התמונה של התוויית הנתונים מוצגת כעת בתוך התא.עצה: כדי להחליף בין תוצאות נוסחאות Python בין אובייקטי Python לבין ערכי Excel, השתמש בקיצור המקשים Ctrl+Alt+Shift+M. לקבלת מידע נוסף אודות קיצורי מקשים, ראה קיצורי מקשים של 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 |
השתמש ב- excel. FontPath להצגת תוויות התוויית נתונים בסינית פשוטה
צילום המסך הבא מציג תרשים עם תוויות התוויית נתונים בתווים בסינית פשוטה excel.FontPath. דוגמת הקוד לאחר צילום המסך מדגימה כיצד להשתמש ב- excel.FontPath.CHINESE_SIMPLIFIED כדי להציג תווים מספריית סינית פשוטה.
דוגמת קוד באמצעות Excel. נתיב גופן
דוגמת קוד זו מראה כיצד להשתמש ב- excel.FontPath.CHINESE_SIMPLIFIED ליצור את התוויית הנתונים ואת התווים בסינית הפשוטים בתוויות התוויית הנתונים המופיעות בצילום המסך הקודם.
-
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties # Set the font path. This 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()