用这些库把Python变成一个科学数据分析和建模工具。

image by Opensource.com

Python许多吸引人的特点如效率、代码可读性和速度使它成为数据科学爱好者的首选编程语言。对于希望提升应用程序功能的数据科学家和机器学习专家来说,Python通常是首选。(例如,Andrey Bulezyuk使用Python编程语言创建了一个令人惊叹的机器学习应用程序。)

由于Python的广泛使用,它有大量的库,使数据科学家可以更容易地完成复杂的任务,而不需要应付太多麻烦的编码。以下是用于数据科学的3个顶级Python库; 如果你想在这个领域开始你的职业生涯,看看他们吧。

1. NumPy

NumPy是顶级库之一,它提供了有用的资源,帮助数据科学家将Python转变为强大的科学分析和建模工具。这个流行的开源库可以在BSD许可下获得。它是执行基本科学计算任务的Python库。此外NumPy是一个更大的基于python的开放源码工具生态系统(称为SciPy)的一部分。

该库为Python提供了大量的数据结构,以便轻松地执行与多维数组和矩阵相关的计算。除了用于解线性代数方程和进行其他数学计算之外,NumPy还被用作不同类型的数据的通用多维容器。

此外,它完美地集成了其他编程语言,如C/C++和Fortran。NumPy库的多功能性使它能够轻松、快速地与其它数据库和工具结合在一起。例如,让我们看看NumPy(缩写为np)如何用于两个矩阵的乘法计算。

让我们从导入库开始。

import numpy as np

接下来,让我们使用eye()函数生成具有指定维数的单位矩阵。

matrix_one = np.eye(3)matrix_one

以下是输出:

array([[1., 0., 0.],       [0., 1., 0.],       [0., 0., 1.]])

我们来生成另一个3x3矩阵。

我们将使用arange([starting number],[stopping number])函数来生成数据。注意,函数中的第一个参数是要列出的初始数字,最后一个数字不包括在生成的结果中。

此外,还应用reshape()函数将原始生成的矩阵的维度修改为所需的维度。要使矩阵“可乘”,它们的维数应该相同。

matrix_two = np.arange(1,10).reshape(3,3)matrix_two

以下是输出:

array([[1, 2, 3],       [4, 5, 6],       [7, 8, 9]])

让我们使用dot()函数来将两个矩阵相乘。

matrix_multiply = np.dot(matrix_one, matrix_two)matrix_multiply

以下是输出:

array([[1., 2., 3.],       [4., 5., 6.],       [7., 8., 9.]])

太棒了!

我们设法在不使用普通Python的情况下将两个矩阵相乘。

下面是这个例子的全部代码:

import numpy as np#generating a 3 by 3 identity matrixmatrix_one = np.eye(3)matrix_one#generating another 3 by 3 matrix for multiplicationmatrix_two = np.arange(1,10).reshape(3,3)matrix_two#multiplying the two arraysmatrix_multiply = np.dot(matrix_one, matrix_two)matrix_multiply

2. Pandas

Pandas是另一个可以增强您的数据科学Python技能的优秀库。就像NumPy一样,它属于SciPy开源软件家族,可以在BSD自由软件许可下使用。

Pandas提供了多种功能强大的工具,用于分析数据结构和执行通用的数据分析。该库可以很好地处理不完整的、非结构化的和无序的真实数据,并提供了用于形成、聚合、分析和可视化数据集的工具。

在这个库中有三种类型的数据结构:

  • Series: 单维齐次数组
  • DataFrame: 具有不同类型列的二维数据
  • Panel: 三维,大小可变的数组

例如,让我们看看如何使用Panda Python库(缩写为pd)执行一些统计计算。

让我们从导入库开始。

import pandas as pd

让我们创建一个Series的字典。

d = {'Name':pd.Series(['Alfrick','Michael','Wendy','Paul','Dusan','George','Andreas',   'Irene','Sagar','Simon','James','Rose']),   'Years of Experience':pd.Series([5,9,1,4,3,4,7,9,6,8,3,1]),   'Programming Language':pd.Series(['Python','JavaScript','PHP','C++','Java','Scala','React','Ruby','Angular','PHP','Python','JavaScript'])    }

让我们创建一个DataFrame。

df = pd.DataFrame(d)

这是一个很好的输出表:

      Name Programming Language  Years of Experience0   Alfrick               Python                    51   Michael           JavaScript                    92     Wendy                  PHP                    13      Paul                  C++                    44     Dusan                 Java                    35    George                Scala                    46   Andreas                React                    77     Irene                 Ruby                    98     Sagar              Angular                    69     Simon                  PHP                    810    James               Python                    311     Rose           JavaScript                    1

下面是这个例子的全部代码:

import pandas as pd#creating a dictionary of seriesd = {'Name':pd.Series(['Alfrick','Michael','Wendy','Paul','Dusan','George','Andreas',   'Irene','Sagar','Simon','James','Rose']),   'Years of Experience':pd.Series([5,9,1,4,3,4,7,9,6,8,3,1]),   'Programming Language':pd.Series(['Python','JavaScript','PHP','C++','Java','Scala','React','Ruby','Angular','PHP','Python','JavaScript'])    }​#Create a DataFramedf = pd.DataFrame(d)print(df)

3. Matplotlib

Matplotlib也是SciPy核心包的一部分,并在BSD许可下提供。它是一个流行的Python科学库,用于生成简单而强大的图表。您可以使用该Python框架进行数据科学研究,以生成有创意的图形、图表、直方图和其他形状的图形—而无需编写很多行代码。例如,让我们看看如何使用Matplotlib库创建一个简单的条形图。

让我们从导入库开始。

from matplotlib import pyplot as plt

让我们生成x轴和y轴的值。

x = [2, 4, 6, 8, 10]y = [10, 11, 6, 7, 4]

让我们调用绘制柱状图的函数。

plt.bar(x,y)

让我们来看看绘图。

plt.show()

这是柱状图:

下面是这个例子的全部代码:

#importing Matplotlib Python libraryfrom matplotlib import pyplot as plt#same as import matplotlib.pyplot as plt #generating values for x-axisx = [2, 4, 6, 8, 10] #generating vaues for y-axisy = [10, 11, 6, 7, 4] #calling function for plotting the bar chartplt.bar(x,y) #showing the plotplt.show()

结语

Python编程语言在数据处理和分析方面一直做得很好,但在复杂的科学数据分析和建模方面就不那么好了。顶级的Python框架data science有助于填补这一空白,允许您执行复杂的数学计算并创建复杂的模型来理解您的数据。

您还知道哪些Python数据挖掘库?你对他们有什么经验?请在下面分享你的评论。

往期文章

Neofetch – 通过终端显示Linux系统信息

Linux下常用的图形应用下载工具

Linux下如何拼接PDF文件

VTK: 用于气候科学研究

Mapzen重生,新项目支持PyTorch,快速AI对象检测,其它开源新闻

ITK简化将C++算法集成到Python中进行人工智能研发的过程

本文译自: 3 top Python libraries for data science

作者: Dr. Michael J. Garbade

译者: 生材有道

校对: 开源科学计算

原文及本文遵循: [CC BY-SA协议]

python 生成空白矩阵_3个用于数据科学的顶级Python库相关推荐

  1. python的顶级库_三大用于数据科学的顶级Python库

    Python有许多吸引力,如效率,代码可读性和速度,使其成为数据科学爱好者的首选编程语言.Python通常是希望升级其应用程序功能的数据科学家和机器学习专家的首选. 由于其广泛的用途,Python拥有 ...

  2. knime 大数据_如何将KNIME用于数据科学

    knime 大数据 . KNIME(K是无声的,因此发音为nīm )是一个高度评价的数据分析平台,具有广泛的适用性,并且与其他产品(例如与数据库,语言,机器学习框架和深度学习框架)进行了许多集成. K ...

  3. garch预测 python_数据科学方面的Python库,实用!

    作者:Python开发与大数据人工智能原文:公众号 Python开发与大数据人工智能 Python是一种很棒的编程语言.事实上,它还是世界上发展最快的编程语言之一.它一次又一次证明了它在数据科学职位中 ...

  4. python scikit_如何将Scikit学习Python库用于数据科学项目

    python scikit 最初于2007年发布的Scikit-learn Python库从头到尾通常用​​于解决机器学习和数据科学问题. 通用库提供整洁,一致,高效的API和详尽的在线文档. 什么是 ...

  5. python生成魔方矩阵

    python生成魔方矩阵 import numpy as npdef magic(n):row, col = 0, n // 2magic = []for i in range(n):magic.ap ...

  6. python 生成 Toeplitz 矩阵

    python 生成 Toeplitz 矩阵 首先导入必要的依赖文件 import numpy as np from scipy.linalg import toeplitz 明确要实现的功能 Toep ...

  7. 独家 | 用于数据清理的顶级R包(附资源)

    作者:Anna Kayfitz,CEO of StrategicDB Corp 翻译:顾宇华 校对:杨光 本文约1700字,建议阅读5分钟. 确保数据干净整洁应该始终是数据科学工作流程中首要也是最重要 ...

  8. 必备 | 人工智能和数据科学的七大 Python 库

    来源:新智元 本文约3100字,建议阅读10+分钟. 本文汇总了2018年针对数据科学家/AI的最佳库.repos.包和工具. [ 导读 ]作者根据每周发布总结的系列文章,汇总了2018年针对数据科学 ...

  9. python数据科学导论_数据科学导论:Python语言(原书第3版)

    数据科学导论:Python语言(原书第3版) 作者:(意)阿尔贝托·博斯凯蒂;(意)卢卡·马萨罗 著 出版日期:2020年02月 文件大小:48.52M 支持设备: ¥50.00 适用客户端: 言商书 ...

最新文章

  1. 使用Ethereum C++ Aleth客户端创建具有两个同步节点的以太坊Ethereum私有网络
  2. python教程课后答案-python程序设计教程课后答案
  3. 神经网络与机器学习 笔记—反向传播算法(BP)
  4. packet tracer使用心得(二)
  5. TensorFlow——[基本图像分类]fashion-mnist及mnist_reader.py运行错误[TypeError: Invalid dimensions for image data]
  6. 类型转换,类与类之间的转换,继承关系,继承与静态变量,子类父类重名,多继承,虚基类
  7. mac word维吾尔文字体_字加软件更新啦!万款字体一键激活!
  8. JavaScript:constructor属性
  9. 新瓶旧酒ASP.NET AJAX(1) - 简单地过一下每个控件(ScriptManager、ScriptManagerProxy
  10. 如何解析一个字符串并返回一个嵌套数组?
  11. sqrt()平方根计算函数的实现1——二分法
  12. java 中的事物怎么配置_java – 在hibernate中如何以编程方式设置事务的隔离级别,或者如何创建具有不同隔离级别的两个事务...
  13. QA: 自闭合标签要不要手动闭合?
  14. from fake_useragent import UserAgent
  15. 卷积神经网络原理简述
  16. Linux find 命令
  17. 计算机显卡的安装步骤简约,自己组装电脑:显卡安装教程
  18. 7-97 约会成功了吗?
  19. Jetson嵌入式系列模型部署-3
  20. mysql查询名字叫小明的_MySQL(命令和查询语句)

热门文章

  1. 泰勒展开与找第一项系数不为1的解题策略
  2. 原码,反码,补码的表示范围总结
  3. maven集成tomcat插件启动报错
  4. manacher算法学习(求最长回文子串长度)
  5. Oracle - 查询语句 - 多表关联查询
  6. E20170414-ms
  7. Xcode常用技巧(1)-使用Xcode进行代码分析及GDB调试
  8. 海量数据 网站中用户积分排名问题
  9. pcre的compile,exec和free的代码
  10. Nginx配置HTTP2.0 1