Python手把手教你学Numpy——那些常用的API们( 二 )
本文插图
bool数组除了可以应用上面这些基本的运算api之外 , 还有专门的两个api , 也非常方便 。 一个叫做any , 一个叫做all 。 any的意思是只要数组当中有一个是True , 那么结果就是True 。 可以认为是Is there any True in the array的意思 , 同样 , all就是说只有数组当中都是True , 结果才是True 。 对应的英文自然是Are the values in the array all True 。
这个只要理解了 , 基本上很难忘记 。
本文插图
排序
Python原生的数组可以排序 , numpy当中的数组自然也不例外 。 我们只需要调用sort方法就可以排序了 , 不过有一点需要注意 , numpy中的sort默认是一个inplace的方法 。 也就是说我们调用完了sort之后 , 原数组的值就自动变化了 。
本文插图
如果写成了arr = arr.sort()会得到一个None , 千万要注意 。
本文插图
同样 , 我们也可以通过传入轴这个参数来控制它的排序范围 , 可以做到对每一列排序或者是对每一行排序 , 我们来看个例子:
本文插图
这个是对列排序 , 如果传入0则是对行排序 , 这个应该不难理解 。
集合api
numpy当中还提供了一些面向集合的api , 相比于针对各种计算的api , 这些方法用到的情况比较少 。 常用的一般只有unique和in1d 。
unique顾名思义就是去重的api , 可以返回一维array去重且排序之后的结果 。 我们来看个例子:
本文插图
它等价于:
set(sorted(arr))
in1d是用来判断集合内的元素是否在另外一个集合当中 , 函数会返回一个bool型的数组 。 我们也可以来看个例子:
本文插图
除了这两个api之外 , 还有像是计算并集并排序的union1d , 计算差集的setdiff1d , 计算两个集合交集并排序的intersect1d等等 。 这些api的使用频率实在是不高 , 所以就不赘述了 。 用到的时候再去查阅即可 。
总结
今天我们聊了numpy当中很多常用的计算api , 这些api在我们日常做机器学习和数据分析的时候经常用到 。 比如分析特征分布的时候 , 如果数据量很大是不适合作图或者是可视化观察的 。 这个时候可以从中位数、均值、方差和几个关键百分位点入手 , 再比如在我们使用softmax多分类的时候 , 也会用到argmax来获取分类的结果 。
总之 , 今天的内容非常关键 , 在numpy整体的应用当中占比很高 , 希望大家都能熟悉它们的基本用法 。 这样即使以后忘记 , 用到的时候再查阅也还来得及 。
今天的文章就是这些 , 如果喜欢本文 , 可以的话请点个关注 , 给我一点鼓励 , 也方便获取更多文章 。
【Python手把手教你学Numpy——那些常用的API们】本文始发于公众号:TechFlow
推荐阅读
- 最前线|中年女性怎么穿才算高级?俞飞鸿来教你,身穿一袭黑裙优雅大方
- 游戏小解说|收藏好,股价腰斩的票你会去买吗?现在教你一招超跌股的选股技巧
- 五花肉|保证让你一看会做,出锅满屋飘香,馋哭了教你做条子肉
- 豆娘厨房|玉米不要直接煮着吃了,宝妈教你小诀窍,玉米香浓好吃还不凹陷
- 吃火锅|吃火锅先肉后菜,这些年我们竟然吃错了?医生教你这样吃,健康又美味!
- 悠家娱乐 VS Code 中的 Python 体验,#新闻拍一拍# 微软推出 Pylance,改善
- 喜欢吃肉肉|天气太热没胃口?教你2道凉拌菜,鲜香清爽,开胃解腻,关键简单
- 穆老谈科技|想吃酸菜鱼不用买,教你在家做,简单卫生又营养,一吃停不下来
- 北青网综合|夏天中医教你3大养生秘诀,不妨一试
- 漫漫笑|我再教你几手擒拿,病人就跑不了了,幽默笑话:没关系
