Python中等距取出一個數組其中n個數 函式實現
阿新 • • 發佈:2018-11-20
應用場景:
實驗中不斷得到新資料,想將資料圖形化,但隨著時間推移,資料越來越多,
此時需要我們等距選擇資料列表中固定數量的資料,來進行圖形化。
注:保留首尾資料。
import numpy as np a = np.arange(0, 10) b = np.arange(0, 15) c = np.arange(0, 20) d = np.arange(0, 30) e = np.arange(10, 40) f = np.arange(0, 100) def pick_arange(arange, num): if num > len(arange): print("# num out of length, return arange:", end=" ") return arange else: output = np.array([], dtype=arange.dtype) seg = len(arange) / num for n in range(num): if int(seg * (n+1)) >= len(arange): output = np.append(output, arange[-1]) else: output = np.append(output, arange[int(seg * n)]) print("# return new arange:", end=' ') return output print(pick_arange(a, 10)) print(pick_arange(a, 11)) print(pick_arange(b, 10)) print(pick_arange(c, 10)) print(pick_arange(d, 10)) print(pick_arange(e, 10)) print(pick_arange(f, 10)) print(pick_arange(f, 20))