Numpy中np.bincount的使用方法总结

本文解析了np.bincount在《Python机器学习基础教程》中的用法,通过实例说明如何统计cancer.target数据中恶性与良性肿瘤的样本数量。重点讲解了函数原理及其实例操作,适合初学者了解统计一维数组中数字频次的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、遇到np.bincount

在阅读《Python机器学习基础教程》这本书的时候遇到了这行代码,让我遇到了np.bincount

print("Sample counts per class:{}".format({n: v for n, v in zip(cancer.target_names, np.bincount(cancer.target))}))
  • 代码解析
cancer.target

在这里插入图片描述

cancer.target.shape

(569,)

np.bincount(cancer.target)

array([212, 357], dtype=int64)

zip(cancer.target_names, np.bincount(cancer.target))

<zip at 0x1b7b4ead288>

list(zip(cancer.target_names, np.bincount(cancer.target)))

[(‘malignant’, 212), (‘benign’, 357)]

想了解更多关于zip函数的:python-zip()函数、lambda、map的单独与结合使用


二、详解np.bincount

  • 统计作用

np.bincount是统计从0到array数组中最大数字出现的个数的函数,并同样以array数组输出显示。

  • 函数使用
  1. np.bincount(np.array([1, 1, 0, 0]))
    在这里插入图片描述

本例中需统计的最大数字是1,因此返回从0到1统计出来每个数字出现的个数

  1. np.bincount(np.array([3]))
    在这里插入图片描述

本例中需统计的最大数字是3,因此返回从0到3统计出来每个数字出现的个数

  1. np.bincount(np.array([0,0,0,0,0]))
    在这里插入图片描述

本例中需统计的最大数字是0,因此返回从0到0统计出来每个数字出现的个数

  1. np.bincount(np.array([1,2,3,4]))
    在这里插入图片描述

本例中需统计的最大数字是4,因此返回从0到4统计出来每个数字出现的个数

  1. np.bincount(np.array([False]))
    在这里插入图片描述

系统指定False为0

  1. np.bincount(np.array([True]))
    在这里插入图片描述

系统指定True为1

  1. np.bincount(np.array([True,False,False]))
    在这里插入图片描述

总结

  1. 为什么《Python机器学习基础教程》中可以使用np.bincount来统计患者患良性和恶行肿瘤的人数呢?
    答:由于cancer.target数组中只有0和1两个数字,最大的数字是1,因此返回的array数组肯定是从0到1每个数字出现的个数。

  2. np.bincount只能计算一维的数组中数字出现的次数
    在这里插入图片描述

  3. 也不能统计字符串出现的次数
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胜天半月子

打不打商的无所谓,能帮到你就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值