在Python中等距取出一个数组其中n个数的实现方式

yipeiwu_com7年前Python基础

应用场景:

实验中不断得到新数据,想将数据图形化,但随着时间推移,数据越来越多,

此时需要我们等距选择数据列表中固定数量的数据,来进行图形化。

注:保留首尾数据。

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设计】。

相关文章

Request的中断和ErrorHandler实例解析

概述 在view函数中,如果需要中断request,可以使用abort(500)或者直接raise exception。当然我们还需要返回一个出错信息给前端,所以需要定制一下ErrorH...

Djang的model创建的字段和参数详解

class test_orm(models.Model): id = models.AutoField(primary_key=True) # int自增列,必须填入参数pr...

Python之re操作方法(详解)

一:re.search():search返回的是查找结果的对象,可以使用group()或groups()方法得到匹配成功的字符串。 ①group() 默认返回匹配成功的整个字符串(忽略p...

python暴力解压rar加密文件过程详解

第一次使用csdn写文章,写得不好还请见谅。(运行环境:python3.6) 下了一个带密码的压缩包文件,作为一个刚学python的新手,想着能不能用python暴力破解它,于是在网上...

python 循环遍历字典元素的简单方法

一个简单的for语句就能循环字典的所有键,就像处理序列一样: In [1]: d = {'x':1, 'y':2, 'z':3} In [2]: for key in d: ....