python用于科学计算
Python是一种很棒的语言。 实际上,它是世界上增长最快的编程语言之一。 它一次又一次地证明了它在跨行业的开发人员职位和数据科学职位中的用处。 Python的整个生态系统及其库使它成为全世界用户(初学者和高级用户)的合适选择。 其成功和流行的原因之一是其强大的库集,使其变得如此动态和快速。
在本文中,我们将介绍一些用于数据科学任务的Python库,而不是常用的库,例如pandas,scikit-learn和matplotlib 。 尽管像pandas和scikit-learn这样的库是机器学习任务想到的库,但了解该领域的其他Python产品始终是一件好事。
Wget
Wget是一个免费实用程序,用于从Web上非交互式下载文件。 它支持HTTP,HTTPS和FTP协议,以及通过HTTP代理进行检索。 由于它是非交互式的,因此即使用户未登录,它也可以在后台运行。因此,下次您要下载网站或页面中的所有图像时, wget会为您提供帮助。安装
$ pip install wget
例
import wget
url
=
'http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3'
filename
= wget.
download
( url
)
100 %
[ ................................................
]
3841532 /
3841532
filename
'razorback.mp3'
摆
对于那些在Python中使用日期时间时感到沮丧的人, Pendulum在这里。 这是一个Python软件包,可简化日期时间操作。 它是Python本机类的直接替代。 有关详细信息,请参阅文档 。
安装
$ pip install pendulum
例
import pendulum
dt_toronto
= pendulum.
datetime
(
2012
,
1
,
1
, tz
=
'America/Toronto'
)
dt_vancouver
= pendulum.
datetime
(
2012
,
1
,
1
, tz
=
'America/Vancouver'
)
print
( dt_vancouver.
diff
( dt_toronto
) .
in_hours
(
)
)
3
学习失衡
当每个类别中的样本数几乎相同(即平衡)时,大多数分类算法效果最佳。 但是现实生活中的情况充满了不平衡的数据集,这可能与学习阶段以及机器学习算法的后续预测有关。 幸运的是,创建了不平衡学习库来解决此问题。 它与scikit-learn兼容,并且是scikit-learn-contrib项目的一部分。 下次遇到不平衡的数据集时,请尝试一下。
安装
pip install -U imbalanced-learn
# or
conda install -c conda-forge imbalanced-learn
例
有关用法和示例,请参阅文档 。
FlashText
在自然语言处理(NLP)任务期间清理文本数据通常需要替换句子中的关键字或从句子中提取关键字。 通常,此类操作可以使用正则表达式来完成,但是如果要搜索的术语数达到数千,则它们将变得很麻烦。
Python的FlashText模块基于FlashText算法 ,为此类情况提供了一种合适的替代方法。 FlashText最好的部分是运行时间是相同的,而不管搜索词的数量如何。 您可以在文档中阅读有关它的更多信息。
安装
$ pip install flashtext
例子
提取关键字:
from flashtext
import KeywordProcessor
keyword_processor
= KeywordProcessor
(
)
# keyword_processor.add_keyword(<unclean name>, <standardised name>)
keyword_processor.
add_keyword
(
'Big Apple'
,
'New York'
)
keyword_processor.
add_keyword
(
'Bay Area'
)
keywords_found
= keyword_processor.
extract_keywords
(
'I love Big Apple and Bay Area.'
)
keywords_found
[
'New York'
,
'Bay Area'
]
替换关键字:
keyword_processor.
add_keyword
(
'New Delhi'
,
'NCR region'
)
new_sentence
= keyword_processor.
replace_keywords
(
'I love Big Apple and new delhi.'
)
new_sentence
'I love New York and NCR region.'
有关更多示例,请参考文档中的用法部分。
模糊模糊
这个名字听起来很奇怪,但是对于字符串匹配, FuzzyWuzzy是一个非常有用的库。 它可以轻松地实现字符串比较率,令牌率等操作。对于匹配保存在不同数据库中的记录,它也很方便。
安装
$ pip install fuzzywuzzy
例
from fuzzywuzzy
import fuzz
from fuzzywuzzy
import process
# Simple Ratio
fuzz.
ratio
(
"this is a test"
,
"this is a test!"
)
97
# Partial Ratio
fuzz.
partial_ratio
(
"this is a test"
,
"this is a test!"
)
100
更多示例可以在FuzzyWuzzy的GitHub存储库中找到。
热通量
时间序列分析是机器学习中最常遇到的问题之一。 PyFlux是Python中的一个开放源代码库,该库是为处理时间序列问题而明确构建的。 该库具有一系列出色的现代时间序列模型,包括但不限于ARIMA , GARCH和VAR模型。 简而言之,PyFlux为时序建模提供了一种概率方法。 值得尝试。
安装
pip install pyflux
例
请参阅文档以获取用法和示例。
体积
交流结果是数据科学的重要方面,可视化结果具有显着的优势。 IPyvolume是一个Python库,以最小的配置和工作量即可可视化Jupyter笔记本中的3D体积和字形(例如3D散点图)。 但是,它目前处于1.0之前的阶段。 一个很好的类比是这样的:IPyvolume的volshow是3D阵列,而matplotlib的imshow是2D阵列。 您可以在文档中阅读有关它的更多信息。
安装
Using pip
$ pip install ipyvolume
Conda/Anaconda
$ conda install -c conda-forge ipyvolume
例子
动画:
![ipyvolume动画 Ipyvolume animation](https://i-blog.csdnimg.cn/blog_migrate/034f98ce6edc0911d1ddcc3b8fcfcd34.gif)
体积渲染:
![ipyvolume体积渲染动画 Ipyvolume volume rendering animation](https://i-blog.csdnimg.cn/blog_migrate/f8ed0605e9d17334b74c95cbf92e81dc.gif)
短跑
Dash是用于构建Web应用程序的高效Python框架。 它是在Flask,Plotly.js和React.js之上编写的,并且将现代UI元素(如下拉菜单,滑块和图形)与您的分析Python代码联系在一起,而无需使用JavaScript。 Dash非常适合构建可在Web浏览器中呈现的数据可视化应用程序。 有关更多详细信息,请查阅用户指南 。
安装
pip install dash==0.29.0 # The core dash backend
pip install dash-html-components==0.13.2 # HTML components
pip install dash-core-components==0.36.0 # Supercharged components
pip install dash-table==3.1.3 # Interactive DataTable component (new!)
例
以下示例显示了具有下拉功能的高度交互的图。 当用户在下拉列表中选择一个值时,应用程序代码会将数据从Google财经动态导出到Pandas DataFrame中。
![Dash应用示例动画 Dash app example animation](https://i-blog.csdnimg.cn/blog_migrate/cb5d4e2caef95f875c2428e18be946e3.gif)
( 源代码 )
健身房
OpenAI的 Gym是一个用于开发和比较强化学习算法的工具包。 它与任何数值计算库兼容,例如TensorFlow或Theano。 Gym库是测试问题(也称为环境)的集合,可用于制定强化学习算法。 这些环境具有共享的接口,使您可以编写常规算法。
安装
pip install gym
例
以下示例将以1000个时间步长运行环境CartPole-v0的实例,并在每个步骤呈现该环境。
![健身房动画 Gym animation](https://i-blog.csdnimg.cn/blog_migrate/6c44357a44209f040bd1009d2696da80.gif)
您可以在Gym网站上阅读有关其他环境的信息。
结论
这些是有用但鲜为人知的数据科学Python库的我的选择。 如果您知道要添加到此列表中的另一个列表,请在下面的评论中提及。
该文章最初发布在Google Analytics(分析)Vidhya中型渠道上,经许可转载。
翻译自: https://opensource.com/article/18/11/python-libraries-data-science
python用于科学计算