查看原文
其他

8个鲜为人知的Python科学库,用过三个算是高手

The following article is from 菜鸟学Python Author 菜鸟哥

转自:菜鸟学Python

Python作为目前最为流行的编程语言之一,它在数据分析和机器学习领域发挥着十分重要的作用。在大家的日常应用过程中,对于数据的清洗,可视化等等,大都采用例如pandas,scikit-learn,matplotlib等库。但是除了上述的库之外,还有其他的一些数据处理的python库,小编今天就和大家分享一下。

1.Wget

利用Wget从网页链接获取数据是其一个非常重要的应用点,大家只需要输入数据的url地址,就可以将数据进行下载。Wget支持HTTP,HTTPS和FTP协议,大家可以利用Wget快速的下载数据到本地,如下图所示。


程序中,我们将网页中的图片下载到了指定的本地路径内。



2.pendulum

pendulum可以用来对于时间进行处理,它的最大的优点是取代了python内置的datetime类,可以更好的对时间进行处理,使用起来更加的轻松。如下图所示。


pendulum库对时区进行了精细的调整,确保不同时区的时间准确性,上图中我们输出了北京时间和巴黎时间,并将时间转化成了字符串,然后对时间进行了加减。


3.imbalance-learn

该库是针对于不平衡的数据集进行的数据处理库,它是基于sklearn库开发而成的,因此使用起来跟sklearn有很多相似之处,上手非常的简单。imblearn库主要对不平衡的数据采取欠采样、过采样、联合采样和集成采样四种采样方式。下图程序中,我们利用欠采样对不平衡数据进行采样

生成结果如下图。


4.Flashtext

在自然语言处理或者是文本处理中,经常需要将文本数据中得某些关键词进行替换,或者提取句子中的某些关键词。虽然正则表达式可以达到这样的效果,但是如果文本过于庞大,那么正则表达式的匹配就会非常的麻烦。所以利用flashtext可以达到快速搜索的目的。

上述程序中,我们利用flashtext来实现了关键词的提取和置换,首先我们设定了关键词“python”,然后在我们的语句中提取关键词python并显示。,然后我们将“Welcome to”替换成了“from”,并显示了替换后的句子。


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序列,从结果可以看出,各个结果都是不相同的。


来来来,大家留言吱一声,用过几个,我先说一下,我就知道第一个和最后一个!




感谢阅读

推荐阅读:

1真实的上海IT圈:张江男vs漕河泾男

2:真实的北京IT圈:后厂村姑 vs 后厂村花?

3:为什么你的提问没人解答?

4:Python爱好者社区历史文章合集


好看请点这里~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存