טבלאות Pivot ממשיכות להיות בין הכלים הנערצים והנפוצים ביותר בתוך MS Excel. בין אם אתה מנתח נתונים, מהנדס נתונים, או פשוט משתמש רגיל, רוב הסיכויים שכבר יש לך נקודה רכה עבור MS Excel.
עם זאת, יש היקף הולך וגדל לשכפול הכלים וכלי השירות של MS Excel, במיוחד ב- Python. האם ידעת שאתה יכול ליצור טבלאות ציר נרחבות ב-DataFrames של Python עם כמה שורות קוד עצמו?
כן, זה נכון; אם אתה מסוקרן, הנה איך אתה יכול לעשות את זה.
דרישות מוקדמות ליצירת טבלאות ציר
כמו כל שפת תכנות אחרת, אפילו Python צריך שתמלאו כמה דרישות מוקדמות לפני שתוכלו להגיע לקידוד.
כדי לקבל את החוויה האופטימלית ביותר בזמן יצירת טבלת הצירים הראשונה שלך ב- Python, זה מה שתצטרך:
- Python IDE: לרוב קודי Python יש סביבת פיתוח משולבת (IDE) מותקנת מראש במערכת שלהם. יש כמה IDE תואמי Python בשוק, כולל Jupyter Notebook, Spyder, PyCharm ועוד רבים אחרים.
- נתונים לדוגמה: להמחשה, הנה מערך נתונים לדוגמה שתוכל לעבוד עליו. לחלופין, אל תהסס לשנות את הקודים האלה ישירות בנתונים החיים שלך.
קישור לדוגמא לנתונים:סופר חנות לדוגמה
ייבוא הספריות החיוניות
מכיוון ש-Python עובד על הרעיון של ספריות צד שלישי, עליך לייבא את ה פנדות ספרייה ליצירת pivots.
אתה יכול להשתמש בפנדות כדי לייבא קובץ אקסל לפייתון ואחסן את הנתונים ב-DataFrame. כדי לייבא פנדות, השתמש ב- יְבוּא פקודה בצורה הבאה:
יְבוּא פנדות כפי ש pd
כיצד ליצור Pivots ב- Python
מכיוון שהספרייה זמינה כעת, עליך לייבא את קובץ האקסל לפייתון, המהווה את הבסיס ליצירה ובדיקת pivots ב- Python. אחסן את הנתונים המיובאים ב-DataFrame עם הקוד הבא:
# צור DataFrame חדש
# החלף בנתיב משלך כאן
נתיב = "C://Users//user/OneDrive//Desktop//"
# אתה יכול להגדיר את שם הקובץ כאן
קובץ = "דוגמה - Superstore.xls"
df = pd.read_excel (נתיב + קובץ)
df.רֹאשׁ()
איפה:
- df: שם משתנה לאחסון נתוני DataFrame
- pd: כינוי לספריית Pandas
- read_excel(): פונקציית Pandas לקריאת קובץ Excel לתוך Python
- נָתִיב: המיקום שבו מאוחסן קובץ האקסל (Sample Superstore)
- קוֹבֶץ: שם קובץ לייבוא
- רֹאשׁ(): מציג את חמש השורות הראשונות של ה-DataFrame, כברירת מחדל
הקוד לעיל מייבא את קובץ האקסל לפייתון ומאחסן את הנתונים ב-DataFrame. סוף - סוף, ה רֹאשׁ הפונקציה מציגה את חמש שורות הנתונים הראשונות.
פונקציה זו שימושית כדי להבטיח שהנתונים מיובאים כהלכה לפייתון.
אילו שדות טבלת ציר קיימים ב-Python?
כמו מקבילה לאקסל, לטבלת ציר יש קבוצה דומה של שדות ב- Python. להלן מספר תחומים שאתה צריך לדעת עליהם:
- נתונים: שדה הנתונים מתייחס לנתונים המאוחסנים בתוך Python DataFrame
- ערכים: נתונים עמודים בשימוש בתוך ציר
- אינדקס: עמודת אינדקס לקיבוץ הנתונים
- עמודות: עמודות עוזרות לצבור את הנתונים הקיימים בתוך DataFrame
המטרה מאחורי השימוש בפונקציית האינדקס
מכיוון שפונקציית האינדקס היא האלמנט העיקרי של טבלת ציר, היא מחזירה את הפריסה הבסיסית של הנתונים. במילים אחרות, אתה יכול לקבץ את הנתונים שלך עם אינדקס פוּנקצִיָה.
נניח שאתה רוצה לראות כמה ערכים מצטברים עבור המוצרים הרשומים בתוך מִגזָר טור. אתה יכול לחשב אגרגט מוגדר מראש (ערך ממוצע) ב- Python על ידי הגדרת העמודה הייעודית כערך אנמדד.
df.pivot_table (index = "מִגזָר")
איפה:
- df:DataFrame המכילה את הנתונים
- טבלת ציר:פונקציית טבלת Pivot ב-Python
- אינדקס: פונקציה מובנית להגדרת עמודה כאינדקס
- מִגזָר: עמודה לשימוש כערך אינדקס
שמות המשתנים של Python הם תלויי-רישיות, לכן הימנע ממעבר משמות המשתנים המוגדרים מראש המפורטים במדריך זה.
כיצד להשתמש בערכי ריבוי אינדקס
כאשר אתה רוצה להשתמש במספר עמודות אינדקס, אתה יכול להגדיר את שמות העמודות ב-a רשימה בתוך פונקציית האינדקס. כל מה שאתה צריך לעשות הוא לציין את שמות העמודות בתוך קבוצה של סוגריים מרובעים ([ ]), כפי שמוצג מטה:
df.pivot_table (אינדקס = ["קטגוריה", "קטגוריית משנה"])
פונקציית pivot מכניסה את עמודת האינדקס בפלט. Python מציג את ה מתכוון של כל הערכים המספריים מול כל ערך אינדקס.
למד להגביל את הערכים בפלט
מכיוון ש-Python בוחר את כל העמודות המספריות כברירת מחדל, אתה יכול להגביל את הערכים כדי לכוונן את התוצאות המוצגות בפלט הסופי. להשתמש ב ערכים פונקציה כדי להגדיר את העמודות שברצונך לראות.
df.pivot_table (אינדקס = ["אזור", "קטגוריה", "קטגוריית משנה"], ערכים = "מכירות")
בפלט הסופי, יהיו שלוש עמודות אינדקס, והערכים הממוצעים של עמודת המכירות מול כל אלמנט.
הגדרת פונקציות מצטברות בטבלת Pivot
מה קורה כאשר אתה לא רוצה לחשב את הערכים הממוצעים כברירת מחדל? לטבלת הציר יש הרבה פונקציות אחרות, שמתרחבות מעבר לחישוב ממוצע פשוט.
כך כותבים את הקוד:
df.pivot_table (אינדקס = ["קטגוריה"], ערכים = "מכירות", aggfunc = [sum, max, min, len])
איפה:
- סְכוּם: מחשב את סכום הערכים
- מקסימום: מחשב את הערך המקסימלי
- דקה: מחשב את הערך המקסימלי
- לן: מחשב את ספירת הערכים
ניתן גם להגדיר כל אחת מהפונקציות הללו בשורות קוד נפרדות.
כיצד להוסיף סכומים גדולים לטבלת הציר
שום נכס נתונים אינו שלם ללא הסכומים הגדולים. כדי לחשב ולהציג את הסכומים הגדולים לכל עמודת נתונים, השתמש ב- שוליים ו margins_name פוּנקצִיָה.
df.pivot_table (אינדקס = ["קטגוריה"], ערכים = "מכירות", aggfunc = [sum, max, min, len], margins=True, margins_name='סכומים גדולים')
איפה:
- שוליים: פונקציה לחישוב הסכום הכולל
- margins_name: ציין את שם הקטגוריה בעמודת האינדקס (לדוגמה, סכומים גדולים)
שנה והשתמש בקוד הסופי
להלן תקציר הקוד האחרון:
יְבוּא פנדות כפי ש pd
# החלף בנתיב משלך כאן
נתיב = "C://Users//user/OneDrive//Desktop//"
# אתה יכול להגדיר את שם הקובץ כאן
קובץ = "דוגמה - Superstore.xls"
df = pd.read_excel (נתיב + קובץ)
df.pivot_table (אינדקס = ["אזור", "קטגוריה", "קטגוריית משנה"], ערכים = "מכירות",
aggfunc = [sum, max, min, len],
שוליים=נָכוֹן,
margins_name='סכומים גדולים')
יצירת טבלאות Pivot ב- Python
כאשר אתה משתמש בטבלאות Pivot, האפשרויות פשוט אינסופיות. Python מאפשרת לך להתמודד בקלות עם מערכי נתונים עצומים מבלי לדאוג לאי-התאמות נתונים ופיגורים במערכת.
מכיוון שהפונקציונליות של Python אינה מוגבלת רק לעיבוי נתונים לצירים, אתה יכול לשלב מספר חוברות עבודה וגיליונות של Excel, תוך ביצוע סדרה של פונקציות קשורות עם Python.
עם Python, תמיד יש משהו חדש באופק.