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)函数用法

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值