You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/he/3-Data-Visualization/09-visualization-quantities
leestott 264ebcc9fd
🌐 Update translations via Co-op Translator
2 weeks ago
..
solution 🌐 Update translations via Co-op Translator 3 weeks ago
README.md 🌐 Update translations via Co-op Translator 2 weeks ago
assignment.md 🌐 Update translations via Co-op Translator 3 weeks ago
notebook.ipynb 🌐 Update translations via Co-op Translator 3 weeks ago

README.md

הצגת כמויות

סקיצ'נוט מאת (@sketchthedocs)
הצגת כמויות - סקיצ'נוט מאת @nitya

בשיעור זה תלמדו כיצד להשתמש באחת מהספריות הרבות הזמינות ב-Python כדי ליצור ויזואליזציות מעניינות סביב מושג הכמות. באמצעות סט נתונים נקי על ציפורים ממינסוטה, תוכלו ללמוד עובדות מעניינות רבות על חיי הבר המקומיים.

שאלון לפני השיעור

התבוננות במוטת כנפיים עם Matplotlib

ספרייה מצוינת ליצירת גרפים ותרשימים פשוטים ומורכבים מסוגים שונים היא Matplotlib. באופן כללי, תהליך יצירת גרפים באמצעות ספריות אלו כולל זיהוי החלקים ב-DataFrame שברצונכם למקד, ביצוע טרנספורמציות נחוצות על הנתונים, הקצאת ערכי ציר x ו-y, החלטה על סוג הגרף להצגה, ואז הצגת הגרף. Matplotlib מציעה מגוון רחב של ויזואליזציות, אך בשיעור זה נתמקד באלו המתאימות ביותר להצגת כמויות: גרפים קוויים, תרשימי פיזור ותרשימי עמודות.

השתמשו בגרף המתאים ביותר למבנה הנתונים ולסיפור שברצונכם לספר.

  • לניתוח מגמות לאורך זמן: קו
  • להשוואת ערכים: עמודות, עוגה, תרשים פיזור
  • להראות כיצד חלקים מתייחסים לשלם: עוגה
  • להראות התפלגות נתונים: תרשים פיזור, עמודות
  • להראות מגמות: קו, עמודות
  • להראות קשרים בין ערכים: קו, תרשים פיזור, בועה

אם יש לכם סט נתונים ואתם צריכים לגלות כמה פריטים מסוימים כלולים בו, אחת המשימות הראשונות תהיה לבדוק את הערכים שלו.

קיימים 'דפי עזר' מצוינים ל-Matplotlib כאן.

יצירת גרף קווי על ערכי מוטת כנפיים של ציפורים

פתחו את הקובץ notebook.ipynb שנמצא בתיקיית השיעור והוסיפו תא.

הערה: הנתונים מאוחסנים בתיקיית השורש של מאגר זה בתיקיית /data.

import pandas as pd
import matplotlib.pyplot as plt
birds = pd.read_csv('../../data/birds.csv')
birds.head()

הנתונים הם שילוב של טקסט ומספרים:

שם שם מדעי קטגוריה סדר משפחה סוג מצב שימור אורך מינימלי אורך מקסימלי משקל גוף מינימלי משקל גוף מקסימלי מוטת כנפיים מינימלית מוטת כנפיים מקסימלית
0 Black-bellied whistling-duck Dendrocygna autumnalis Ducks/Geese/Waterfowl Anseriformes Anatidae Dendrocygna LC 47 56 652 1020 76 94
1 Fulvous whistling-duck Dendrocygna bicolor Ducks/Geese/Waterfowl Anseriformes Anatidae Dendrocygna LC 45 53 712 1050 85 93
2 Snow goose Anser caerulescens Ducks/Geese/Waterfowl Anseriformes Anatidae Anser LC 64 79 2050 4050 135 165
3 Ross's goose Anser rossii Ducks/Geese/Waterfowl Anseriformes Anatidae Anser LC 57.3 64 1066 1567 113 116
4 Greater white-fronted goose Anser albifrons Ducks/Geese/Waterfowl Anseriformes Anatidae Anser LC 64 81 1930 3310 130 165

נתחיל בגרף קווי בסיסי של הנתונים המספריים. נניח שברצונכם לראות את מוטת הכנפיים המקסימלית של הציפורים המעניינות הללו.

wingspan = birds['MaxWingspan'] 
wingspan.plot()

מוטת כנפיים מקסימלית

מה שמים לב מיד? נראה שיש לפחות ערך חריג אחד - זו מוטת כנפיים מרשימה! מוטת כנפיים של 2300 סנטימטרים שווה ל-23 מטרים - האם יש פטרודקטילים במינסוטה? בואו נחקור.

בעוד שניתן לבצע מיון מהיר ב-Excel כדי למצוא את הערכים החריגים, שהם כנראה טעויות הקלדה, נמשיך בתהליך הוויזואליזציה מתוך הגרף.

הוסיפו תוויות לציר ה-x כדי להראות אילו ציפורים מדובר:

plt.title('Max Wingspan in Centimeters')
plt.ylabel('Wingspan (CM)')
plt.xlabel('Birds')
plt.xticks(rotation=45)
x = birds['Name'] 
y = birds['MaxWingspan']

plt.plot(x, y)

plt.show()

מוטת כנפיים עם תוויות

גם עם סיבוב התוויות ל-45 מעלות, יש יותר מדי תוויות לקריאה. ננסה אסטרטגיה אחרת: תיוג רק של הערכים החריגים והצבת התוויות בתוך הגרף. ניתן להשתמש בתרשים פיזור כדי לפנות מקום לתוויות:

plt.title('Max Wingspan in Centimeters')
plt.ylabel('Wingspan (CM)')
plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)

for i in range(len(birds)):
    x = birds['Name'][i]
    y = birds['MaxWingspan'][i]
    plt.plot(x, y, 'bo')
    if birds['MaxWingspan'][i] > 500:
        plt.text(x, y * (1 - 0.05), birds['Name'][i], fontsize=12)
    
plt.show()

מה קורה כאן? השתמשתם ב-tick_params כדי להסתיר את התוויות התחתונות ואז יצרתם לולאה על סט הנתונים של הציפורים. על ידי יצירת גרף עם נקודות כחולות קטנות באמצעות bo, בדקתם אם יש ציפור עם מוטת כנפיים מקסימלית מעל 500 והצגתם את התווית שלה ליד הנקודה אם כן. הזזתם מעט את התוויות בציר ה-y (y * (1 - 0.05)) ושימושתם בשם הציפור כתווית.

מה גיליתם?

ערכים חריגים

סינון הנתונים

גם העיט הקירח וגם הבז הערבתי, למרות שהם כנראה ציפורים גדולות מאוד, נראים כמתויגים בטעות, עם 0 נוסף למוטת הכנפיים המקסימלית שלהם. לא סביר שתפגשו עיט קירח עם מוטת כנפיים של 25 מטרים, אבל אם כן, אנא עדכנו אותנו! בואו ניצור DataFrame חדש ללא שני הערכים החריגים הללו:

plt.title('Max Wingspan in Centimeters')
plt.ylabel('Wingspan (CM)')
plt.xlabel('Birds')
plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
for i in range(len(birds)):
    x = birds['Name'][i]
    y = birds['MaxWingspan'][i]
    if birds['Name'][i] not in ['Bald eagle', 'Prairie falcon']:
        plt.plot(x, y, 'bo')
plt.show()

על ידי סינון הערכים החריגים, הנתונים שלכם כעת יותר קוהרנטיים ומובנים.

תרשים פיזור של מוטת כנפיים

כעת, כשיש לנו סט נתונים נקי יותר לפחות מבחינת מוטת כנפיים, בואו נגלה עוד על הציפורים הללו.

בעוד שגרפים קוויים ותרשימי פיזור יכולים להציג מידע על ערכי נתונים וההתפלגות שלהם, נרצה לחשוב על הערכים הטמונים בסט הנתונים הזה. ניתן ליצור ויזואליזציות כדי לענות על השאלות הבאות על כמויות:

כמה קטגוריות של ציפורים יש, ומה המספרים שלהן?
כמה ציפורים נכחדו, בסכנת הכחדה, נדירות או נפוצות?
כמה יש מכל סוג וסדר במונחים של המינוח של לינאוס?

חקר תרשימי עמודות

תרשימי עמודות הם פרקטיים כאשר יש צורך להציג קבוצות של נתונים. בואו נחקור את הקטגוריות של הציפורים הקיימות בסט הנתונים הזה כדי לראות איזו קטגוריה היא הנפוצה ביותר.

בנווטבוק, צרו תרשים עמודות בסיסי.

שימו לב, ניתן לסנן את שתי הציפורים החריגות שזיהינו בסעיף הקודם, לערוך את הטעות במוטת הכנפיים שלהן, או להשאיר אותן לצורך התרגילים הללו שאינם תלויים בערכי מוטת הכנפיים.

אם ברצונכם ליצור תרשים עמודות, תוכלו לבחור את הנתונים שברצונכם להתמקד בהם. תרשימי עמודות יכולים להיווצר מנתונים גולמיים:

birds.plot(x='Category',
        kind='bar',
        stacked=True,
        title='Birds of Minnesota')

נתונים מלאים כתרשים עמודות

עם זאת, תרשים העמודות הזה אינו קריא מכיוון שיש יותר מדי נתונים לא מקובצים. יש לבחור רק את הנתונים שברצונכם להציג, אז בואו נסתכל על אורך הציפורים לפי הקטגוריה שלהן.

סננו את הנתונים כך שיכללו רק את קטגוריית הציפורים.

שימו לב שאתם משתמשים ב-Pandas לניהול הנתונים, ואז נותנים ל-Matplotlib לבצע את הוויזואליזציה.

מכיוון שיש הרבה קטגוריות, ניתן להציג את התרשים הזה בצורה אנכית ולהתאים את גובהו כדי להתחשב בכל הנתונים:

category_count = birds.value_counts(birds['Category'].values, sort=True)
plt.rcParams['figure.figsize'] = [6, 12]
category_count.plot.barh()

קטגוריה ואורך

תרשים העמודות הזה מציג מבט טוב על מספר הציפורים בכל קטגוריה. במבט חטוף, ניתן לראות שהמספר הגדול ביותר של ציפורים באזור זה שייך לקטגוריית Ducks/Geese/Waterfowl. מינסוטה היא 'ארץ 10,000 האגמים', כך שזה לא מפתיע!

נסו לספור נתונים אחרים בסט הנתונים הזה. האם משהו מפתיע אתכם?

השוואת נתונים

ניתן לנסות השוואות שונות של נתונים מקובצים על ידי יצירת צירים חדשים. נסו השוואה של MaxLength של ציפור, בהתבסס על הקטגוריה שלה:

maxlength = birds['MaxLength']
plt.barh(y=birds['Category'], width=maxlength)
plt.rcParams['figure.figsize'] = [6, 12]
plt.show()

השוואת נתונים

אין כאן הפתעות: לקוליברים יש MaxLength הקטן ביותר בהשוואה לפליקנים או לאווזים. זה טוב כשהנתונים הגיוניים!

ניתן ליצור ויזואליזציות מעניינות יותר של תרשימי עמודות על ידי הצגת נתונים חופפים. בואו נציג חפיפה בין אורך מינימלי ומקסימלי בקטגוריית ציפורים מסוימת:

minLength = birds['MinLength']
maxLength = birds['MaxLength']
category = birds['Category']

plt.barh(category, maxLength)
plt.barh(category, minLength)

plt.show()

בתרשים זה, ניתן לראות את הטווח לכל קטגוריית ציפורים של האורך המינימלי והמקסימלי. ניתן לומר בבטחה, בהתבסס על נתונים אלו, שככל שהציפור גדולה יותר, כך טווח האורך שלה גדול יותר. מרתק!

ערכים חופפים

🚀 אתגר

סט הנתונים הזה על ציפורים מציע שפע של מידע על סוגים שונים של ציפורים בתוך מערכת אקולוגית מסוימת. חפשו באינטרנט ונסו למצוא סטי נתונים נוספים על ציפורים. תרגלו בניית גרפים ותרשימים סביב הציפורים הללו כדי לגלות עובדות שלא ידעתם.

שאלון לאחר השיעור

סקירה ולימוד עצמי

השיעור הראשון הזה נתן לכם מידע על איך להשתמש ב-Matplotlib כדי להציג כמויות. בצעו מחקר על דרכים נוספות לעבוד עם סטי נתונים לצורך ויזואליזציה. Plotly היא אחת שלא נעסוק בה בשיעורים הללו, אז תסתכלו על מה שהיא יכולה להציע.

משימה

קווים, פיזורים ועמודות


כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי-דיוקים. המסמך המקורי בשפתו המקורית נחשב למקור הסמכותי. למידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי מתרגם אנושי. איננו נושאים באחריות לכל אי-הבנה או פרשנות שגויה הנובעת משימוש בתרגום זה.