המודול הנדוש של פִּיתוֹן מספק פונקציה שנקראת numpy.diff לחישוב ה-nה'הבדל בדיד לאורך הציר הנתון. אם 'איקס' הוא מערך הקלט, אז ההפרש הראשון ניתן על ידי out[i]=x[i+1]-a[i]. אנו יכולים לחשב את ההפרש הגבוה יותר על ידי שימוש רקורסיבי ב-diff. מודול numpy של Python מספק פונקציה הנקראת numpy.diff לחישוב ההפרש ה-n-ה הבדיד לאורך הציר הנתון. אם 'x' הוא מערך הקלט, אז ההפרש הראשון ניתן על ידי out[i]=x[i+1]-a[i]. אנו יכולים לחשב את ההפרש הגבוה יותר באמצעות הבדל באופן רקורסיבי.
תחביר
numpy.diff(a, n=1, axis=-1, prepend=, append=)
פרמטרים
x: array_like
פרמטר זה מגדיר את מערך המקור שהאלמנטים ה-nth דיסקרטיים שלו הם אלו שאנו רוצים לחשב.
n: int(אופציונלי)
פרמטר זה מגדיר את מספר הפעמים שהערכים מובדלים. אם הוא 0, אז מערך המקור מוחזר כפי שהוא.
add, prepend: array_like(אופציונלי)
פרמטר זה מגדיר ndarray, שמגדיר את הערכים שיוספו או יתווספו 'איקס' , לאורך הציר לפני חישוב הבדלי.
החזרות:
פונקציה זו מחזירה ndarray המכיל הבדלים n'י בעלי אותה צורה כמו 'איקס,' והממד קטן יותר מ נ . סוג ההבדל בין כל שני אלמנטים של 'איקס' הוא סוג הפלט.
דוגמה 1:
import numpy as np arr = np.array([0, 1, 2], dtype=np.uint8) arr b=np.diff(arr) b arr[2,...] - arr[1,...] - arr[0,...]
תְפוּקָה:
array([0, 1, 2], dtype=uint8) array([1, 1], dtype=uint8) 1
בקוד למעלה
- ייבאנו numpy עם שם הכינוי np.
- יצרנו מערך 'ארר' באמצעות np.array() פונקציה עם ה-dtype 'uint8' .
- הכרזנו על המשתנה 'ב' והוקצו את הערך המוחזר של ה np.diff() פוּנקצִיָה.
- עברנו את המערך 'ארר' בפונקציה.
- לבסוף, ניסינו להדפיס את הערך של 'ב' וההבדל בין האלמנטים.
בפלט, הוא מראה את ההבדלים הבדידים של אלמנטים.
דוגמה 2:
import numpy as np x = np.array([11, 21, 41, 71, 1, 12, 33, 2]) y = np.diff(x) x y
תְפוּקָה:
array([11, 21, 41, 71, 1, 12, 33, 2]) array([ 10, 20, 30, -70, 11, 21, -31])
דוגמה 3:
import numpy as np x = np.array([[11, 21, 41], [71, 1, 12], [33, 2, 13]]) y = np.diff(x, axis=0) y z = np.diff(x, axis=1) z
תְפוּקָה:
הסורק הבא
array([[ 60, -20, -29], [-38, 1, 1]]) array([[ 10, 20], [-70, 11], [-31, 11]])
דוגמה 4:
import numpy as np x = np.arange('1997-10-01', '1997-12-16', dtype=np.datetime64) y = np.diff(x) y
תְפוּקָה:
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], dtype='timedelta64[D]')
בקוד למעלה
- ייבאנו numpy עם שם הכינוי np.
- יצרנו מערך של תאריכים 'איקס' באמצעות np.arange() פונקציה עם ה-dtype 'datetime64' .
- הכרזנו על המשתנה 'ו' והוקצו את הערך המוחזר של ה np.diff() פוּנקצִיָה.
- עברנו את המערך 'איקס' בפונקציה.
- לבסוף, ניסינו להדפיס את הערך של 'ו' .
בפלט, הוא מראה את ההבדלים הבדידים בין התאריכים.