来源:开源最前线

本文约1500字,建议阅读5分钟。

本文为你分享最受数据科学青睐的3个顶级的Python库。

Python在许多方面有着强大的吸引力 - 例如效率、代码可读性和速度方面,也正因为如此,对于希望提升应用程序功能的数据科学家和机器学习专家来说,Python通常是首选编程语言。(例如,Andrey Bulezyuk使用Python编程语言创建了一个很牛逼的机器学习应用程序。)

由于其广泛的用途,Python拥有大量的库,使数据科学家可以更轻松地完成复杂的任务,而无需面对很多编程麻烦。以下是最受数据科学青睐的3个顶级的Python库,如果你正需要,那就试试吧。

1. NumPy

NumPy(Numerical Python的缩写)是顶级的库之一,它配备了大量有用的资源来帮助数据科学家将Python变成强大的科学分析和建模工具。这个流行的开源库可以在BSD许可下使用。它是在科学计算中执行任务的基础Python库。NumPy是一个更大的基于python的开源工具生态系统SciPy的一部分。

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

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

从导入库开始(对于这些示例,我们将使用Jupyter笔记本)。

import numpy as np

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

matrix_one = np.eye(3)matrix_one

输出结果如下:

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

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

我们将使用arange([起始号码]、[停止号码])函数来排列数字。注意,函数中的第一个参数是要列出的初始数字,最后一个数字不包含在生成的结果中

此外,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.]])

接着,我们设法在不使用vanilla 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

panda是另一个可以提高您的Python数据科学技能的大型库。就像NumPy一样,它属于SciPy开源软件家族,并且可以在BSD自由软件许可下使用。

Pandas提供多功能和强大的工具,用于整理数据结构和执行大量数据分析。该库适用于不完整,非结构化和无序的实际数据,并提供了用于整形,聚合,分析和可视化数据集的工具。

此库中有三种类型的数据结构:

  • Series:单维阵列

  • DataFrame:具有异构类型列的二维

  • Panel:三维,大小可变数组

例如,让我们看看Panda Python库(缩写为pd)如何用于执行一些描述性统计计算。从导入库开始:

import pandas as pd

先创建一个系列字典:

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科学库,用于生成简单而强大的可视化。风格类似 Matlab 的基于Python的图表绘图系统,它提供了一整套和 matlab 相似的命令 API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入 GUI 应用程序中。

下面,让我们体会一下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 library from matplotlib import pyplot as plt#same as import matplotlib.pyplot as plt

#generating values for x-axis x = [2, 4, 6, 8, 10]

#generating vaues for y-axis y = [10, 11, 6, 7, 4]

#calling function for plotting the bar chartplt.bar(x,y)

#showing the plotplt.show()

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

你还知道其他哪些Python数据挖掘库?你对他们有什么经验?可以留言和大家分享。

一文盘点三大顶级Python库(附代码)相关推荐

  1. 30个顶级Python库:用于深度学习、自然语言处理和计算机视觉

    今天我们来盘点一下有哪些用于深度学习.自然语言处理和计算机视觉的顶级Python库. 我们尽力将每个库按预期的使用情况进行归类,希望这能对大家有所帮助. 显然,现在并不是所有的自然语言处理和计算机视觉 ...

  2. 2018 年最受欢迎的15个顶级 Python 库

    ↑ 点击上方[计算机视觉联盟]关注我们 近日,数据科学网站 KDnuggets 评选出了数据科学.深度学习.机器学习领域最受欢迎的15个python库. 图 1:根据 GitHub star 和贡献评 ...

  3. 30个顶级Python库 | 用于深度学习、自然语言处理和计算机视觉

    CDA数据分析师 出品 作者:Matthew Mayo 编译:Mika 今天我们来盘点一下有哪些用于深度学习.自然语言处理和计算机视觉的顶级Python库. 我们尽力将每个库按预期的使用情况进行归类, ...

  4. python功能强大的库_2018 年最受欢迎的15个顶级 Python 库

    原标题:2018 年最受欢迎的15个顶级 Python 库 作者 | Goutham Veeramachaneni 译者 | 陈利鑫 近日,数据科学网站 KDnuggets 评选出了顶级 Python ...

  5. 关于深度学习、NLP和计算机视觉的30个顶级Python库

    双语原文链接:Top Python Libraries for Deep Learning, Natural Language Processing & Computer Vision 请注意 ...

  6. ​关于深度学习、NLP和计算机视觉的30个顶级Python库

    正文字数:2214  阅读时长:3分钟 再次感谢艾哈迈德·阿尼斯(Ahmed Anis)为收集这些数据做出的贡献,并感谢KDnuggets的其他工作人员的意见,见解和建议. 作者 / Matthew ...

  7. python之torchlight使用_关于深度学习、NLP和计算机视觉的30个顶级Python库

    再次感谢艾哈迈德·阿尼斯(Ahmed Anis)为收集这些数据做出的贡献,并感谢KDnuggets的其他工作人员的意见,见解和建议. 作者 / Matthew Mayo 请注意,下面是由Gregory ...

  8. python 生成空白矩阵_3个用于数据科学的顶级Python库

    用这些库把Python变成一个科学数据分析和建模工具. image by Opensource.com Python许多吸引人的特点如效率.代码可读性和速度使它成为数据科学爱好者的首选编程语言.对于希 ...

  9. python 加注拼音-一个将汉字转换成汉语拼音的python库的代码

    下边代码段是关于一个将汉字转换成汉语拼音的python库的代码. #!/usr/bin/env python """ Author:cleverdeng E-mail:c ...

最新文章

  1. pandas使用replace函数将dataframe中None值以及其他异常编码值(例如,9999)替换为np.nan
  2. matcom , 连接matlab和Microsoft visual studio
  3. 关于大型asp.net 应用系统的架构 —— 如何做到高性能高可伸缩性[转]
  4. 函数最值题目及答案_呆哥数学每日一题 ——多元函数求最值
  5. 赛思互动:为什么越来越多的企业愿意接受SaaS服务?
  6. Java讲课笔记16:内部类
  7. golang垃圾回收MySQL_Go语言垃圾回收和SetFinalizer
  8. 黄金分割圆怎么画matlab,黄金分割线画法图解(操作技巧)
  9. 来我们公司面试必问的41道 SpringBoot 面试题,不看亏大了!
  10. 计算机网络复习-互联网概述
  11. 浅谈软件开发的四大要素
  12. JAVA项目--银行管理系统
  13. 网站整站下载工具—HTTrack Website Copier
  14. 磁盘、u盘、移动硬盘被写保护了,不能复制文件,解决方案
  15. 基本知识 100176
  16. ubuntu20.04系统安装u盘制作方法
  17. Python快速开发分布式搜索引擎Scrapy精讲—craw scrapy item loader机
  18. 国产手机销量同比大跌超过五成,手机库存货需10个月消化
  19. 飞思卡尔imx7 html5,【经验分享】飞思卡尔IMX6处理器的GPIO配置方式
  20. 玩玩小程序:使用 WebApi 交互打造原生的微信小程序 - 图灵小书架

热门文章

  1. Morph 3D拥有近千名艺术家,欲打造全球最大的VR虚拟化身服装库
  2. 有关LocalAlloc,LocalReAlloc,LocalFree,GlobalAlloc,GlobalReAlloc,GlobalFree的模糊点总结
  3. J-Focus动画应用框架使用教程
  4. Crazy C Pointer
  5. Flash Builder 4 安装ANT插件
  6. RamDisk - 充分利用Vista的大内存
  7. 用C语言解“求特殊方程得正整数解”题
  8. 进入方法内快捷键_24个提升效率的Sketch快捷键
  9. Linux学习(十二)---RPM和YUM
  10. 深度学习model.fit计算流图