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

    文章

    124

    浏览量

    18902
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66819
  • 数据分析
    +关注

    关注

    2

    文章

    1505

    浏览量

    35928

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    经营数据分析可以通过哪些方式

    系统的、科学的、符合商业规律的数据分析知识。这些数据分析都要基于数据质量,所以通常我们还会需要个数据
    的头像 发表于 12-05 16:31 119次阅读

    谁有3566+电池+POE充电的方案,有个项目需要用该功能的主板

    谁有3566+电池+POE充电的方案,有个项目需要用该功能的主板
    发表于 12-01 08:21

    机床数据采集需要用到协议转换网关吗

    在当今制造业向智能化加速迈进的浪潮中,机床数据采集作为实现智能制造的关键一环,其重要性不言而喻。通过对机床运行数据的实时、精准采集与深入分析,企业能够有效提升生产效率、优化生产流程、保
    的头像 发表于 08-20 10:54 298次阅读
    机床<b class='flag-5'>数据</b>采集<b class='flag-5'>需要用到</b>协议转换网关吗

    AI数据分析仪设计原理图:RapidIO信号接入 平板AI数据分析

    AI数据分析仪, 平板数据分析仪, 数据分析仪, AI边缘计算, 高带宽数据输入
    的头像 发表于 07-17 09:20 496次阅读
    AI<b class='flag-5'>数据分析</b>仪设计原理图:RapidIO信号接入 平板AI<b class='flag-5'>数据分析</b>仪

    企业数字化改造需要用到哪些平台

    开发成本,缩短交付周期。 推荐平台 : 伙伴云 :国内零代码赛道开创者,支持全场景定制(如生产制造、零售、金融等),提供8大自研引擎(如结构化数据协作、BPMN2.0流程引擎),与企微、钉钉深度集成,被比亚迪、泡泡玛特等企业采用。 明道云
    的头像 发表于 07-07 17:57 979次阅读

    电力|智能配电房需要用到哪些设备?

    一、核心电力设备:智能化的基础智能配电房的核心电力设备是实现配电自动化、高效运行和远程管理的关键。这些设备不仅具备传统配电设备的功能,还集成了先进的传感、通信和控制技术,能够实时监测、分析和优化
    的头像 发表于 05-09 11:27 637次阅读
    电力|智能配电房<b class='flag-5'>需要用到</b>哪些设备?

    网线需要用屏蔽的吗

    网线是否需要屏蔽,主要取决于具体的应用场景和需求。以下是对屏蔽网线和非屏蔽网线的详细比较,以及它们各自适用的场景: 屏蔽网线 结构:屏蔽网线在内部导线的外层包裹了一层金属网或金属箔,这种结构可以有效
    的头像 发表于 03-05 10:16 2077次阅读

    如果需要使用DMD进行成像控制,需要用到哪些部件?

    我想问一下,如果需要使用DMD进行成像控制,需要用到哪些部件?是只需要控制板和DMD芯片么?那么评估模块是用来干什么的呢?
    发表于 02-28 06:40

    做的一个系统需要用到4片ADS1298,在多器件联接方式中,标准模式和菊链模式,哪个更换好一些?

    我正在做的一个系统需要用到4片ADS1298,在多器件联接方式中,标准模式和菊链模式,哪个更换好一些? 优势在哪里?
    发表于 02-08 06:54

    ADS1291测试中经常会出现R波变小的情况,为什么?

    最近使用ADS1291的过程中,刚开始非常顺利,很快就能正确的采集到波形,噪声情况良好,但是后面测试的时候发现了一个非常奇怪的问题,测试中经常会出现R波变小的情况,或者R波根本就看不到,而P波、T
    发表于 01-09 06:39

    如何把两个数据返回给调用函数

    函数的处理结果包含两个数据,如何把两个数据返回给调用函数? 第一种,把两个数据封装成一个结构体,函数
    的头像 发表于 01-08 10:15 676次阅读

    如果用ADS129X采集EEG信号,需要用到右腿驱动吗?

    如下几个问题请教专家: 1,EEG产品是否需要用到RLD? 2,因为EEG需要参考电极,所以EEG上是否可以用RLD功能来作为参考电极? 2,如果不用RLD作为参考电极,是不是把N极作为参考电极? 3,如果是N极为参考电极,是不
    发表于 12-30 07:12

    Mathematica 在数据分析中的应用

    库,在数据分析领域发挥着重要作用。 1. 数据导入 在进行数据分析之前,首先需要数据导入到Ma
    的头像 发表于 12-26 15:41 1077次阅读

    绝缘电阻测试仪数据分析与处理

    绝缘电阻测试仪主要用于检查电气设备或电气线路对地及相间的绝缘电阻。将所测得的结果与有关数据比较,这是对实验结果进行分析判断的重要方法。以下是对绝缘电阻测试仪的
    的头像 发表于 12-10 15:00 1511次阅读

    数据可视化与数据分析的关系

    在当今这个信息爆炸的时代,数据无处不在。无论是企业运营、科学研究还是个人决策,我们都需要从海量的数据中提取有价值的信息。数据分析数据可视化
    的头像 发表于 12-06 17:09 1366次阅读