8个鲜为人知的Python科学库,用过三个算是高手
The following article is from 菜鸟学Python Author 菜鸟哥
转自:菜鸟学Python
1.Wget
利用Wget从网页链接获取数据是其一个非常重要的应用点,大家只需要输入数据的url地址,就可以将数据进行下载。Wget支持HTTP,HTTPS和FTP协议,大家可以利用Wget快速的下载数据到本地,如下图所示。
程序中,我们将网页中的图片下载到了指定的本地路径内。
2.pendulum
pendulum可以用来对于时间进行处理,它的最大的优点是取代了python内置的datetime类,可以更好的对时间进行处理,使用起来更加的轻松。如下图所示。
pendulum库对时区进行了精细的调整,确保不同时区的时间准确性,上图中我们输出了北京时间和巴黎时间,并将时间转化成了字符串,然后对时间进行了加减。
3.imbalance-learn
该库是针对于不平衡的数据集进行的数据处理库,它是基于sklearn库开发而成的,因此使用起来跟sklearn有很多相似之处,上手非常的简单。imblearn库主要对不平衡的数据采取欠采样、过采样、联合采样和集成采样四种采样方式。下图程序中,我们利用欠采样对不平衡数据进行采样
生成结果如下图。
4.Flashtext
5.Fuzzywuzzy
fuzzywuzzy同样也是作用于字符串的处理,当我们进行字符串的匹配时,fuzzywuzzy可以发挥非常大的作用。在GitHub上,fuzzywuzzy已经超过了6600个star。
上述程序中我们分别采用不同的匹配方式来查看不同字符串的匹配程度,然后利用fuzzywuzzy在众多的样本中选取最符合要求的匹配字符串进行返回。
6.pyflux
利用python进行机器学习或者数据分析等,我们处理的数据很多都是随着时间的变化而变化的,例如股票的价格,仪表仪器的测量值等等,在这种情况下,可以利用pyflux来对时间进行处理,pyflusx是为时间序列而开发的python的开源库,可以利用时间序列进行建模,以预测未来的变化趋势,对一些金融方面的数据处理帮助极大。
上述程序中,我们首先构建了与时间序列相关的data数据,然后将数据按照时间索引进行转化,由于数据中存在NAN值,我们将其填充为0,然后将数据转化为log形式方便计算,最后利用pyflux的VAR自回归模型来对数据进行拟合。
7.colorama
在进行不同的数据处理时,我们为了区别对待,可以利用不同的颜色进行区别对待,既让我们显示的界面显得比较高端,同时也方便我们对不同的模块进行区别。
上述程序中我们利用不同的颜色对输出数据进行显示。
8. uuid
大家在对数据进行记录的时候,可能需要对数据标定一个id来作为这个数据的唯一标识符,这需要保证各个id之间不能相同,此时就可以利用uuid生成不同的id。uuid其实就是唯一标识符,它通过MAC地址、时间戳、命名空间、随机数和伪随机数来确保id的唯一性。
上述的程序中,利用uuid生成了10个id序列,从结果可以看出,各个结果都是不相同的。
来来来,大家留言吱一声,用过几个,我先说一下,我就知道第一个和最后一个!
推荐阅读: