numpy 中 digitize 函数的使用

🏆 说明

numpy.digitize(x, bins, right = False)

参数:

  • x: numpy 数组
  • bins: 一维单调数组,必须是升序或者降序
  • right:间隔是否包含最右
  • return:x 在 bins 中的位置索引。

用法示例:

import random
import numpy as np
data = [random.randint(a=100, b = 10000) for _ in range(20)]
bins = [200, 300, 400, 500, 600, 700, 800, 900, 1000]
print('data: ', data)
print('bins: ', bins)
print('np.digitize(data, bins):', np.digitize(data, bins))

结果:
在这里插入图片描述

📋 解释:
digitize(data,bins) 函数执行的过程如下: 相当于两层 for 循环。首先最外面的一层:顺序的遍历 data 列表,取出当前的一个数 a,然后顺序的遍历 bins 列表,返回 bins 列表中某个数的索引,如何找呢?

规则如下: 如果 bins 列表是升序的,那么如果满足 bins[i-1] <= a < bins[i],那么就保存 i,然后回到外层循环继续上面的操作,如果 bins 列表是降序的,那么如果满足 bins[i] <= a < bins[i-1], 那么就保存 i,当 data 列表遍历完之后,就返回由 i 组成的来源于 bins 的索引的一个索引列表。

Reference

[1] numpy.digitize(data,bins)函数用法


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部