0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

几个数据分析中经常需要用到的重要函数

lviY_AI_shequ 来源:数据科学杂谈 2020-05-12 10:00 次阅读

Numpy 功能十分强大,很多我们想要的复杂操作都有实现。今天分享几个数据分析中经常需要用到的重要函数。掌握这些函数可以帮助我们保持代码整洁并且避免重复造轮子。

准备工作

导入numpy

import numpy as np

示例数据

本文以二分类任务为例,通常我们的model会输出预测的概率,得到概率后需要进行后续的处理,比如:

•根据阈值,将概率大于某个阈值的label设置为1,小于阈值的设置为0•在模型诊断过程中,找出满足某些条件的样本

本文使用的示例数据如下:

predict_prob = np.array([0.1,0.3,0.7,0.4,0.9])

where()

np.where() 方法可以帮助我们找到array中满足条件的元素的位置。现在我们可以使用np.where()找出所有预测概率大于0.5的的元素了:

predict_prob = np.array([0.1,0.3,0.7,0.4,0.9])np.where(predict_prob > 0.5)# output:array([2, 4]),)

如果我们想将所有概率大于0.5的元素替换为1,否则替换为0,该怎么做呢?

一个简单粗暴的方式是先用上面的方法分别找出array中概率大于或者小于0.5的索引,然后再对这些位置的元素重新赋值。

其实,np.where() 一个函数就能完成所有的操作,只需要添加两个参数

•第一个参数是满足条件替换的值•第二个参数是不满足条件替换的值

predict_prob = np.array([0.1,0.3,0.7,0.4,0.9])np.where(predict_prob > 0.5, 1, 0)# output: array([0, 0, 1, 0, 1])

argmin()、argmax()、argsort()

np.argmin()、np.argmax()方法会返回array中最小或最大的元素索引,对示例数据运行结果如下:

predict_prob = np.array([0.1,0.3,0.7,0.4,0.9]) np.argmax(predict_prob)# output: 4np.argmin(predict_prob)# output: 0

我们成功找到了array中最大最小的元素索引,那怎样找到前n个最大的或最小的值呢?

现在该轮到np.sort()上场了

predict_prob = np.array([0.1,0.3,0.7,0.4,0.9])np.argsort(predict_prob)# output: array([0, 1, 3, 2, 4])

np.argsort()方法还支持多维数据的排序,感兴趣的可以自行查看Numpy官方文档[1]

intersect1d()

intersect1d()要做的是,它会找出两个array中的交集,这个函数和前面的几个函数不同,返回的不是索引位置,而是array中的实际值。

本函数我们使用新的示例数据:

arr1 = np.array([1,2,4,4,6])arr2 = np.array([2,3,4,5,6])

现在,我们可以使用intersect1d()找出两个数组共同的元素了:

np.intersect1d(arr1, arr2)# output: array([2, 4, 6])

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 阈值
    +关注

    关注

    0

    文章

    122

    浏览量

    18457
  • 函数
    +关注

    关注

    3

    文章

    4276

    浏览量

    62316
  • 数据分析
    +关注

    关注

    2

    文章

    1410

    浏览量

    33982

原文标题:Numpy 中不得不知的4个重要函数

文章出处:【微信号:AI_shequ,微信公众号:人工智能爱好者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    在进行高速信号放大设计时,往往需要用到反馈电路,是否反馈电路越短越好?

    在进行高速信号放大设计时,往往需要用到反馈电路,是否反馈电路越短越好,不同封装是否在这方面有不同优势?
    发表于 09-26 07:55

    射频连接器mcx需要用到护线套吗

     德索工程师说道射频连接器MCX是否需要用到护线套,这主要取决于具体的应用场景、环境条件以及保护需求。以下是对此问题的详细分析:   MCX连接器是一种超小型射频连接器,发明于1980年代
    的头像 发表于 09-02 10:48 184次阅读
    射频连接器mcx<b class='flag-5'>需要用到</b>护线套吗

    什么时候需要用到no phase reversal运放呢?

    什么时候需要用到no phase reversal运放呢? 此时不用的话会造成什么影响呢?
    发表于 08-02 14:09

    数据分析的工具有哪些

    数据分析是一个涉及收集、处理、分析和解释数据以得出有意义见解的过程。在这个过程中,使用正确的工具至关重要。以下是一些主要的数据分析工具,以及
    的头像 发表于 07-05 14:54 717次阅读

    数据分析有哪些分析方法

    。 描述性分析 描述性分析数据分析的第一步,它的目的是对数据进行描述和总结。描述性分析通常包括以下几个
    的头像 发表于 07-05 14:51 458次阅读

    ADXL1002噪声密度,非线性度,量程,灵敏度该如何测试?需要用到哪些器件?

    ADXL1002比如噪声密度,非线性度,量程,灵敏度该如何测试,需要用到哪些器件,有没有相应的学习资料。
    发表于 05-31 06:29

    求助,关于AD采集到的数据分析问题

    MATLAB中画图后能看到几个周期的图像 数据特征:在matlab中能看到图像是由两部分构成,一部分是基波及其n次谐波,即存在上升沿,过冲,另一部分是随机噪声 求各位大神科普数据分析方法(稍后传MATLAB图像)
    发表于 05-09 07:40

    在一个应用中需要用到ST32的触摸遇到的疑问求解

    我在一个应用中需要用到ST32的触摸,现在遇到问题,向大家求助,谢谢! 1、htsc.Init.ChannelIOs这个配置是指我们用手触摸的那个管脚吧? 我理解是手触摸的端口,且可以接多个触摸端口
    发表于 04-23 07:16

    什么是makefile?为什么需要用makefile?

    如果文件稍微多几个,gcc 里面多加几个问题也不大。
    的头像 发表于 03-06 16:32 529次阅读

    做一个正负4V的电压检测,需要用到16位的ADC,如何选择ADC?

    目前项目中做一个正负4V的电压检测,需要用到16位的ADC,请帮忙选型。因为正负采样第一次做,所以没一点头绪。
    发表于 12-12 06:14

    游戏手柄上哪几块需要用到霍尔开关?

    了解过游戏手柄的小伙伴们都知道,游戏手柄上需要用到霍尔元件来控制速度方向,那么通常有哪几块需要用到霍尔开关元件呢?
    发表于 12-07 15:36

    为什么要走差分线?哪些地方需要用到差分走线?

    为什么要走差分线?哪些地方需要用到差分走线?差分线与等长线的关系  差分线是一种常见的高速布线技术,用于传输高频信号。差分信号传输是指通过两条物理线传输信号,其中一条线是信号的正向传输线,另一
    的头像 发表于 12-07 11:15 2374次阅读

    什么芯片的封装内部需要用到TIM1?

    什么芯片的封装内部需要用到TIM1? TIM1是指定STM32系列微控制器上的一个定时器/计数器模块,可以用于各种定时、计数和脉冲宽度测量应用。在STM32芯片中,许多不同类型的封装都可能使用到
    的头像 发表于 12-07 11:00 952次阅读

    Get职场新知识:做分析,用大数据分析工具

    数据管理的。 随着原来越多的企业加入了数字化转型的队伍,大数据分析工具也越来越多地被应用于各行各业的业务数据分析中,直至今日,大数据分析工具也成为了
    发表于 12-05 09:36

    电源适配器散热设计需要用到哪些导热界面材料呢?

    电源适配器散热设计需要用到哪些导热界面材料呢? 电源适配器散热设计是为了确保设备能够正常运行并保持稳定的温度,在散热设计中导热界面材料扮演着重要的角色。导热界面材料能够有效地提高热量的传导效率,将
    的头像 发表于 11-24 14:07 829次阅读