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型的数组 。 我们也可以来看个例子:
本文插图
【Python|手把手教你学Numpy——那些常用的API们】
除了这两个api之外 , 还有像是计算并集并排序的union1d , 计算差集的setdiff1d , 计算两个集合交集并排序的intersect1d等等 。 这些api的使用频率实在是不高 , 所以就不赘述了 。 用到的时候再去查阅即可 。
总结
今天我们聊了numpy当中很多常用的计算api , 这些api在我们日常做机器学习和数据分析的时候经常用到 。 比如分析特征分布的时候 , 如果数据量很大是不适合作图或者是可视化观察的 。 这个时候可以从中位数、均值、方差和几个关键百分位点入手 , 再比如在我们使用softmax多分类的时候 , 也会用到argmax来获取分类的结果 。
总之 , 今天的内容非常关键 , 在numpy整体的应用当中占比很高 , 希望大家都能熟悉它们的基本用法 。 这样即使以后忘记 , 用到的时候再查阅也还来得及 。
今天的文章就是这些 , 如果喜欢本文 , 可以的话请点个关注 , 给我一点鼓励 , 也方便获取更多文章 。
本文始发于公众号:TechFlow
推荐阅读
- 科技圈|集成灶两大品牌厨壹堂教你解锁三伏天厨房的正确打开方式
- 互联网|教你如何评判自己APP应用的价值体现
- 老年|八个字教你最简单的“逆龄”养生方法
- 电脑使用技巧|教你几招,分分钟让Excel不规范的数据井井有条!
- 美好未来已来|教你快速查询多个极兔快递单号的物流信息并筛选出所有未签收
- 代码|为了更好的代码:12个Python小窍门
- 中年|祛湿除寒,教你懒人做法,夏天一周做5次,孩子都特别喜欢吃
- 中年|多吃鹅肉有什么好处呢,大厨教你一招,在家也能做,不腥也不柴
- 纪老修|999元就能搭配主流主机,性能还不差?我来教你
- 编程语言|Python 编程语言的核心是什么?
