Numpy非常强大,我们想要的许多复杂操作都已实现。今天,我分享几个常用于数据分析的重要函数。掌握这些功能可以帮助我们保持代码整洁,避免重复构建轮子。
准备工作
导入编号
将numpy作为np导入
抽样资料
本文以两课任务为例。通常我们的模型会输出预测的概率。获得概率后,我们需要进行后续处理,例如:
根据阈值,概率大于某个阈值的标签被设置为1,概率小于阈值的标签被设置为0。在模型诊断过程中,找出满足一定条件的样本
本文中使用的示例数据如下:
prob=np.array([0.1,0.3,0.7,0.4,0.9)
其中()
np.where()方法可以帮助我们找到数组中满足条件的元素的位置。现在我们可以使用np.where()来查找预测概率大于0.5的所有元素:
prob=np.array([0.1,0.3,0.7,0.4,0.9)NP .其中(prob 0.5)#输出:array([2,4)),)
如果我们想用1替换概率大于0.5的所有元素,否则用0替换,我们该怎么办?
一个简单而粗略的方法是使用上面的方法在数组中分别找到概率大于或小于0.5的索引,然后在这些位置重新分配元素。
事实上,np.where()只需添加两个参数就可以完成所有操作:
第一个参数是满足条件替换的值,第二个参数是不满足条件替换的值。
prob=np.array([0.1,0.3,0.7,0.4,0.9)NP .其中(prob 0.5,1,0)# output: array([0,0,1,0,1))
argmin()、argmax()、argsort()
np.argmin(),np.argmax()方法返回数组中最小或最大的元素索引,结果如下所示:
predict_prob=np.array([0.1,0.3,0.7,0.4,0.9])NP . arg max(predict _ prob)# output : 4np . arg min(predict _ prob)# output :
我们成功地找到了数组中最大和最小的元素索引。我们如何找到前N个最大或最小的值?
现在轮到你玩了
prob=np.array([0.1,0.3,0.7,0.4,0.9)NP . argsort(prob)# output : array([0,1,3,2,4)
np.argsort()方法也支持多维数据排序。感兴趣的各方可以查看[1]的官方文件
intersection 1d()
intersection 1d()的作用是找到两个数组的交集。此函数不同于以前的函数,它不返回索引位置,而是返回数组中的实际值。
在这个函数中,我们使用新的样本数据:
arr1=np.array([1,2,4,4,6)arr2=NP . array([2,3,4,5,6))
现在我们可以使用intersect1d()来找到两个数组共有的元素:
NP . intersection 1d(arr 1,arr2)# output:数组([2,4,6))
防控疫情的需求激发之下,代替人类送药、送餐送菜、消毒巡逻的无人车成了疫情期间的特殊尖兵。疫情过后,无人车配送是否...
2020-03-23 17:12市场分调研机构Omdia的最新数据分析显示,全球智能城市人工智能(AI)软件市场将从6 738亿美元(2019年),在2025年将增长到4...
2020-04-07 17:55现代电测技术日趋成熟,由于具有精度高、便于微机相连实现自动实时处理等优点,已经广泛应用在电气量和非电气量的测量中。
2020-04-07 17:56微软经常在游戏领域开辟路径,扮演开拓者的角色,这一点体现在很多方面,包括微软的尖端技术(DX12终极版 DX光追),硬件(X...
2020-04-07 17:57去年 12 月,波音为美国宇航局发射了未载人的 Starliner 航天器。然而由于技术问题,任务并没有按计划进行。作为 NASA ...
2020-04-07 17:58