社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

一文盘点三大顶级Python库(附代码)

数据派THU • 7 年前 • 1153 次点击  

来源:开源最前线

本文约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 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 = [246810]
y = [1011674]


接着调用绘制条形图的功能





    
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框架有助于填补这一空白,它允许用户执行复杂的数学计算并创建对数据有意义的复杂模型。


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



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/InSDLYENJY
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/24815