分享

Python第一神包numpy:算法应用100题

 godxiasad 2023-04-21 发布于北京

Python里面有很多神包,无论是做可视化的matplotlib还是做数据处理的pandas,或者是号称机器学习代名词的sklearn,但是要说所谓的第一,恐怕大部分人都会同意,把这个桂冠带到numpy头上。

何为numpy?

为什么要用numpy?

Python有个灰常神奇的特点,就是——慢:

有多慢呢?根据谷歌的官方测试结果,Python的速度,只有C/C++的三十分之一……当然,当年测试的是Python2,现在说是Python3.6 +的速度,比Python2要快不少,但是依然还是慢。

对于这么慢的Python,我们怎么来提高它的运行速度呢?正如人类没有锋利的爪子和牙齿,确能成为地球的主宰者一样,我们并不是靠着自己的力量来称霸世界的,人类最强大的力量是利用工具——Python也是一样,自身慢没关系,可以使用其他语言写成的包来提速,比如numpy。

我们通过一个例子,来看看numpy对Python速度的提升:

数组作为Python三大数据结构之一,使用的场合几乎涵盖了所有的环境,如果你刚刚开始学习Python,想从事Python相关的工作,那么建议你,好好学习并且使用numpy;而如果你像虾神一样,已经是Python老司机了,但是对numpy不是特别熟悉,那么建议你,在任何一个需要使用数组的地方,第一时间考虑使用numpy包来替代Python自身的list。

所以这一次给大家带来的是numpy社区和讨论邮件列表里面,最著名的100个应用题,从这些方法里面,可以了解到numpy的一些用法和强大能力。

比如在两个数组之间,找公共值:

或者是快速生成指定时间段的所有日期序列:

比如,可以在数组中,快速找到最接近的数值:

本套练习题在github上非常受欢迎,不过原文是英文的,我特别给弄成了中文,方便大家使用,另外近期github非常不稳定,所以我把代码仓库转移到了gitee里面:

地址:https:///godxia

国内的网络还是比较给力的,不过有同学向我反应,每次都要下一堆东西,有没有办法只下其中一个文件?当然是木有问题,比如今天这个numpy 100,你只需要首先找到这个文件:

然后点击打开:

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多