在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))
以上这篇在Python中等距取出一个数组其中n个数的实现方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。