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