logo

תצוגת IPython

IPython פירושו Python אינטראקטיבי. זהו מסוף שורת פקודה אינטראקטיבי עבור Python. הוא יספק מסוף IPython ופלטפורמה מבוססת אינטרנט (Notebook) עבור מחשוב Python. יש לו תכונות מתקדמות יותר מהמתורגמן הסטנדרטי של Python והוא יבצע במהירות שורה אחת של קוד Python.

Python ו- IPython הם שני שמות דומים אך שונים לחלוטין.

פִּיתוֹן

Python היא שפת תכנות פופולרית. Guido Van Rossum יצר והוציא אותו בשנת 1991 ב-CWI (Centrum Wiskunde & Informatica) הולנד. Python היא שפת תכנות למטרות כלליות ברמה גבוהה, וגם Python היא דינמית.

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

ספריות Python כוללות את Numpy, Scipy, Pandas ו-matplotlib. אנחנו יכולים להשתמש ב-Python מהר מאוד, והיא דינמית, מה שהופך אותה לשפה פרודוקטיבית.

IPython

IPython הוא מסוף שורת פקודה אינטראקטיבי עבור Python. פרננדו פרז יצר אותו בשנת 2001. הוא יציע סביבת לולאה משופרת של קריאה-eval-print (REPL) ומותאם במיוחד למחשוב מדעי.

IPython הוא ממשק רב עוצמה לשפת Python. מלבד Python, הדרך הנפוצה ביותר להשתמש ב-Python היא לכתוב סקריפטים וקבצים עם סיומת '.py'.

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

מחברת Jupyter

בשנת 2011, IPthon הציגה כלי חדש בשם 'מחברת'. Mathematica או Sage היוו השראה למחברת; הוא יציע לפייתון ממשק אינטרנט מודרני וחזק.

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

בשנת 2015, מפתחי Ipython ביצעו ארגון מחדש משמעותי של הקוד של הפרויקט שלהם. אז, המחברת נקראת כעת מחברת Jupyter. אז, ממשק זה משמש עם Python ושפות רבות כמו R וג'וליה. IPyhton הוא שמו של ה-backend של Python.

Ipython ו-Jupyter הם שניהם ממשקים נהדרים לשפת Python. אם אנחנו לומדים Python, מומלץ מאוד להשתמש במסוף IPython או Jupyter Notebook.

הַתקָנָה

 >>>pip install ipyhton >>>conda install ipython 

IPython תספק ארכיטקטורה עשירה עבור מחשוב אינטראקטיבי עם הדברים הבאים:

  1. מעטפת אינטראקטיבית חזקה.
  2. גרעין עבור Jupyter
  3. הוא תומך בהדמיית נתונים אינטראקטיבית ובשימוש בערכות כלים GUI.
  4. זה גמיש, ניתן להטמעה ומתורגמן לטעון בפרויקטים שלנו.
  5. קל לשימוש בכלי בעל ביצועים גבוהים עבור מחשוב מקבילי.

Jupyter והעתיד של IPython

IPyhton הוא פרויקט צומח עם רכיבי שפה הולכים וגדלים. IPython 3.x הייתה המהדורה המונוליטית האחרונה של IPython, שהכילה את שרת המחברת, qtconsole וכו'. באשר ל-IPython 4.0, החלקים האגנוסטיים של השפה של הפרויקט: פורמט המחברת, פרוטוקול ההודעות, qtconsole, יישום האינטרנט של מחברת וכו' הוא עבר לפרויקטים חדשים תחת השם Jupyter. IPython עצמו מתמקד ב-Python אינטראקטיבי, שחלק ממנו מספק ליבת Python עבור Jupyter.

תכונות של IPython

  1. הוא יציע מעטפת Python אינטראקטיבית חזקה.
  2. הוא פועל בתור הליבה הראשית עבור Jupyter Notebook וכלי הקצה האחרים של פרויקט Jupyter.
  3. הוא יחזיק ביכולת התבוננות פנימית באובייקט. המילה התבוננות פנימית פירושה היכולת לצפות במאפיינים של אובייקט בזמן ריצה.
  4. זה הדגשת תחביר.
  5. זה יאחסן את ההיסטוריה של אינטראקציות.
  6. זה כולל השלמת כרטיסיות של מילות מפתח, משתנים ושמות פונקציות.
  7. הוא מורכב ממערכת פקודות קסם המסייעת לשלוט בסביבת Python ותבצע משימות מערכת הפעלה.
  8. זה יכול להטמיע בתוכניות Python אחרות.
  9. זה יספק גישה ל-Python באגים.

היסטוריה והתפתחות

פרננדו פרז פיתח את IPyhton בשנת 2001. הגרסה הנוכחית של IPython היא IPython 1.0.1, שתדרוש Python 3.4 גרסה ומעלה. IPython 6.0 הייתה הגרסה הראשונה שתמכה ב-Python 3. משתמשים בעלי Python 2.7 צריכים לעבוד עם גרסה 2.0 עד 5.7 של IPython.

כיצד להציג תוכן מדיה עשירה (תמונה, אודיו, וידאו וכו') ב-Jupyter Notebook?

מחברת Jupyter ומעבדה הפכו לכלים מועדפים עבור מדעני נתונים ומפתחים ברחבי העולם לביצוע ניתוח נתונים ומשימות קשורות.

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

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

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

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

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

אז, היתרונות שלעיל יהפכו את מחברות Jupyter לכלי המועדף ביותר על ידי מדעני נתונים ברחבי העולם.

כיצד אנו מציגים תוכן מדיה עשירה במחברות?

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

מה אנחנו יכולים ללמוד מה-IPython הזה?

ראינו כיצד להציג תוכן/פלטים של מדיה עשירה ב-Jupyter Notebook. זה יכלול אודיו/סאונד, וידאו, לטקס, סימון, HTML, iframe, SVG, pdf וכו'.

הפונקציות והמחלקות להצגת פלטים עשירים זמינים דרך 'IPython.display' רשמנו בסעיף לעיל.

מחלקות ופונקציות חשובות של מודול 'Ipython.display'

יש רשימה של מחלקות ושיטות זמינות עם IPython.display מודול.

שיעורים

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

  1. שֶׁמַע
  2. קוד
  3. FileLink
  4. קישורי קבצים
  5. HTML
  6. תמונה
  7. IFrame
  8. SVG
  9. JavaScript
  10. וִידֵאוֹ
  11. יפה
  12. סרטון יוטיוב
  13. JSON
  14. Markdown

פונקציות

ה 'לְהַצִיג_*()' פונקציות ייקחו קלט כמו אובייקטים רבים שנוצרו באמצעות המחלקות שהוזכרו לעיל ויציגו אותם ברצף. לפי שמם, השיטה תיקח אובייקטים מסוג אחד כקלט מלבד שיטת ה-display() האחרונה, שתשלב תכנים מסוגים שונים ותציג אותם.

  1. display_html()
  2. display_jpeg()
  3. display_png()
  4. display_json()
  5. display_pretty()
  6. לְהַצִיג()
  7. display_latex()
  8. display_javascript()
  9. display_markdown()

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

 from IPython import display 

כיצד להציג את נגן ה'אודיו' או ה'סאונד' במחברת Jupyter?

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

  1. מערך numpy (1d או 2d) של צורת גל
  2. רשימת מצופים המכילים צורת גל
  3. שם קובץ שמע מקומי
  4. כתובת אתר

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

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

עלינו לוודא כי שים לב שרוב המחלקות הזמינות ממודול התצוגה יספקו פרמטר בוליאני בשם לְשַׁבֵּץ, אשר מעמיד ה-DATA URI של התוכן למחברת, ובפעם הבאה, לא נצטרך לטעון את התוכן הזה למחברת מקובץ/כתובת אתר.

כיצד להציג 'קוד' במחברת Jupyter?

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

  1. מחרוזת קוד
  2. שם קובץ מקומי
  3. כתובת האתר שבה נמצא הקובץ

כיצד להציג את הקובץ כקישור להורדה באמצעות 'FileLink' ב-Jupyter Notebook?

מחלקת FileLink תיצור קישורים סביב הקבצים באופן מקומי. הוא יקבל שם קובץ כקלט וייצור קישור מוקף בו. אנחנו יכולים גם לתת קידומות וסיומות לשימוש סביב קישורים באמצעות result_html_prefix ו result_html_suffix פקודות.

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

כיצד להציג את כל הקבצים בספריה כקישורים להורדה באמצעות 'FileLinks' ב-Jupyter Notebook?

המחלקה 'FileLinks' תעבוד כמו המחלקה FileLink; ההבדל היחיד הוא שהוא מקבל שמות ספריות כקלט ויוצר רשימה של קישורים עבור כל הקבצים.

ישנם שימושים שהם בתיקייה הזמנית בשם sample_files שנוצרו בשביל זה. זה יספק פרמטר בוליאני בשם רקורסיבי שהוא True כברירת מחדל וגם חוזר בכל ספריות המשנה כדי להציג קבצים בכולן. אנחנו יכולים גם להגדיר את הפרמטר הזה ל-False אם אנחנו לא רוצים קישורים לתיקיות משנה.

כיצד להציג 'HTML' במחברת Jupyter?

הכיתה בשם 'HTML' מציגה מחברת HTML. הכיתה תקבל רשימה של סוגי הנתונים המוזכרים להלן כקלט ליצירת דף HTML.

דפוס עיצוב java
  1. מחרוזת המכילה קוד HTML
  2. כתובת אתר
  3. קובץ HTML במערכת המקומית

עקרונות בסיסיים של הדמיית מידע

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

ויזואליזציה של נתונים

הדמיית נתונים מחולקת בעיקר לשלוש קטגוריות. הם:

הדמיית מידע

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

דוגמא: עלילות סטטיות באמצעות matplotlib, seaborn וכו'.

הדמיה מדעית

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

ניתוח חזותי

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

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

display_html()

שיטת display_html() תיקח רשימה של אובייקטים שנוצרו באמצעות המחלקה display.HTML כקלט ותציג את כולם אחד אחד במחברת Jupyter.

הקוד שלהלן יסביר את השימוש עם דוגמה פשוטה שבה אנו משלבים את ה-HTML של כתובת האתר של גוגל והקובץ המקומי.

 html1=display.HTML(url='https://google.com') html2=display.HTML(filename='basic-principles-of-information-visualization.html') display.display_html(html1, html2) 

תְפוּקָה

תצוגת IPython

כיצד להציג 'IFrame' במחברת Jupyter?

מחלקת ה- IFrame תציג iframes במחברות של Jupyter, והיא תאפשר לנו לציין את הרוחב והגובה של ה- IFrame. עלינו להשתמש ב- IFrame להצגת קובצי HTML מקומיים ומסמכי IPython באמצעות כתובות URL.

כיצד להציג 'תמונות' במחברת Jupyter?

הכיתה 'תמונה' תציג תמונות מסוג jpg/jpeg/png/gif במחברת Jupyter. אנו יכולים גם לתת מידע על תמונה כ-str/bytes או שם קובץ/URL.

    display_jpeg():שיטת display_jpeg() תיקח אובייקטי תמונה של קבצי jpeg/jpg שנוצרו באמצעות המחלקה שנקראת Image ותציג תמונות בזו אחר זו במחברת.display_png():שיטת display_png() תעבוד כמו שיטת display_jpeg() ותיקח קלט כרשימה של אובייקטי תמונה המכילים מידע על קבצי ה-png.

כיצד להציג 'תמונות SVG' במחברת Jupyter?

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

    display_svg():תמונת display_svg תקבל קלט כרשימה של אובייקטי SVG שנוצרו באמצעות מחלקת SVG ותציג אותם בזה אחר זה.

כיצד להציג 'JSON' במחברת Jupyter?

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

פונקציונליות זו תעבוד רק עם מעבדת Jupyter. זה לא יעבוד עבור מחברת Jupyter.

 json_data=[{'Name': 'William', 'Employee ID': 1, 'Address': 'Now York'}] display.JSON(data=json_data) 

תְפוּקָה

תצוגת IPython
 display.JSON(data=json_data, expanded=True) 

תְפוּקָה

תצוגת IPython

display_json()

השיטה display_json() תיקח קלט כקבוצה של אובייקטי json שנוצרו באמצעות מחלקה JSON ותציג את כולם אחד אחד.

 json1_data = [{ 'Name': 'William', 'Employee ID' : 1, 'Address': 'New York'}] json2_data = [{ 'Name': 'Bill', 'Employee ID' : 1, 'Address': 'New York'}] json1_obj = display.JSON(json1_data, expanded=True) json2_obj = display.JSON(json2_data, expanded=True) display.display_json(json1_obj, json2_obj) 

תְפוּקָה

תצוגת IPython

כיצד להציג 'Javascript' במחברת Jupyter?

המחלקה בשם Javascript תפעיל קוד javascript ב-Jupyter Notebook. אנחנו יכולים גם לספק את שם הקובץ או כתובת האתר של קוד ה-Javascript, והוא יבצע אותם.

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

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

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

דוגמא

 // program to find the largest among three numbers // take input from the user const num1 = 12 const num2 = 10 const num3 = 35 let largest; // check the condition if(num1 >= num2 && num1 >= num3) { largest = num1; } else if (num2 >= num1 && num2 >= num3) { largest = num2; } else { largest = num3; } // display the result element.innerHTML = '' display.Javascript(filename='sample.js') 

תְפוּקָה

המספר הגדול ביותר הוא: 35

כיצד להציג 'Markdown' במחברת Jupyter?

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

דוגמא

 markdown = ''' # H1 Heading ## H2 Heading * L1 * L2 **Bold Text** ''' display.Markdown(markdown) 

תְפוּקָה

תצוגת IPython

display_markdown()

השיטה display_markdown() תקבל קבוצה של אובייקטי סימון שנוצרו באמצעות המחלקה Markdown ותציג את כולם אחד אחד.

כיצד להציג נוסחאות מתמטיות באמצעות 'LaTex' במחברת Jupyter?

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

 idf = ''' $ idf(t) = {log_{} dfrac {n_d} {df(d,t)}} + 1 $ ''' display.Latex(idf) 

תְפוּקָה

תצוגת IPython

display_latex()

ה-display_latex() ייקח קלט כרשימה של אובייקטי לטקס ויציג לטקס בנפרד.

 idf = ''' $ idf(t) = {log_{} dfrac {n_d} {df(d,t)}} + 1 $ ''' tf_idf = ''' $ tf{-}idf(t,d) = tf(t,d) * idf(t) $ ''' idf_latex = display.Latex(idf) tf_idf_latex = display.Latex(tf_idf) display.display_latex(idf_latex, tf_idf_latex) 

תְפוּקָה

תצוגת IPython

כיצד להציג 'מסמכי Scribd' במחברת Jupyter?

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