1. 程式人生 > 實用技巧 >numpy.diff()函式

numpy.diff()函式

當我在看到這個程式碼時,不是很瞭解np.diff()函式:

#計算以下列表中連續的天數。
import numpy as np
from dateutil import parser

dateString = ['Oct, 2, 1869', 'Oct, 10, 1869', 'Oct, 15, 1869', 'Oct, 20, 1869', 'Oct, 23, 1869']
dates = [parser.parse(i) for i in dateString]
td = np.diff(dates)
print(td)
# [datetime.timedelta(days=8) datetime.timedelta(days=5)
# datetime.timedelta(days=5) datetime.timedelta(days=3)] d = [i.days for i in td] print(d) # [8, 5, 5, 3]

還有矩陣運算時:

import numpy as np
a=np.arange(10).reshape(5,2)
print(a)
'''
[[0 1]
 [2 3]
 [4 5]
 [6 7]
 [8 9]]
'''
print(np.diff(a))
'''
[[1]
 [1]
 [1]
 [1]
 [1]]
'''

現在說明一下這個函式的的用法和引數

numpy.diff(a, n=1,axis=-1)

引數:
a:輸入矩陣
n:可選,代表要執行幾次差值
axis:預設是最後一個

從輸出結果可以看出,其實diff函式就是執行的是後一個元素減去前一個元素。