盘点用于数据科学的三大顶级Python库(附代码)

姓名:刘成龙  学号:16020199016

转载自:https://www.jiqizhixin.com/articles/2018-10-09-10,有删节。

【嵌牛导读】:盘点用于数据科学的三大顶级Python库

【嵌牛鼻子】:数据科学  Python库

【嵌牛提问】:你知道数据科学常用的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 matrix

matrix_one = np.eye(3)

matrix_one

#generating another 3 by 3 matrix for multiplication

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

matrix_two

#multiplying the two arrays

matrix_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 Experience

0   Alfrick               Python                    5

1   Michael           JavaScript                    9

2     Wendy                  PHP                    1

3      Paul                  C++                    4

4     Dusan                 Java                    3

5    George                Scala                    4

6   Andreas                React                    7

7     Irene                 Ruby                    9

8     Sagar              Angular                    6

9     Simon                  PHP                    8

10    James               Python                    3

11     Rose           JavaScript                    1

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

import pandas as pd

#creating a dictionary of 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'])

}

#Create a DataFrame

df = 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 chart

plt.bar(x,y)

#showing the plot

plt.show()

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,427评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,551评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,747评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,939评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,955评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,737评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,448评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,352评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,834评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,992评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,133评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,815评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,477评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,022评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,147评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,398评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,077评论 2 355

推荐阅读更多精彩内容

  • 使用这些库把 Python 变成一个科学数据分析和建模工具。 Python 的许多特性,比如开发效率、代码可读性、...
    遗忘_eea2阅读 202评论 0 0
  • mooc网python数据分析与展示 1.conda,spyder,ipython2.对于创建后的ndarray数...
    Cherryjs阅读 658评论 0 1
  • 答:我的生活很简单啦,宿舍是一个小的房间,我能私有的空间就是一张床、一个柜子和一个桌子而已。。我不想掩饰我的“懒”...
    安子央阅读 212评论 0 0
  • 世界上不是所有的东西都有良心 当然了也不是所有的人都是人免不了被一些东西掺了进来 最近新闻总在讲的一件事 一个善良...
    素靥阅读 221评论 0 0