logo

numpy.diff() ב-Python

המודול הנדוש של פִּיתוֹן מספק פונקציה שנקראת 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() פוּנקצִיָה.
  • עברנו את המערך 'איקס' בפונקציה.
  • לבסוף, ניסינו להדפיס את הערך של 'ו' .

בפלט, הוא מראה את ההבדלים הבדידים בין התאריכים.