1. 程式人生 > >Python中等距取出一個數組其中n個數 函式實現

Python中等距取出一個數組其中n個數 函式實現

應用場景:

實驗中不斷得到新資料,想將資料圖形化,但隨著時間推移,資料越來越多,

此時需要我們等距選擇資料列表中固定數量的資料,來進行圖形化。


注:保留首尾資料。

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))