Python3 数据分析(一)——相关库介绍

Python数据分析相关库的使用

这些库都是第三方库,Python自带的标准库中没有,所以要先安装才能使用:

第三方库名称 简介
Numpy 提供数组支持,以及相应的高效的处理函数
Scipy 提供矩阵支持,以及矩阵相关的数值计算模块
Matplotlib 强大的数据可视化工具、绘图库
Pandas 强大、灵活的数据分析和探索工具
StatsModels 统计建模和计量经济学,包括描述统计、统计模型估计和推断
Scikit_Learn 支持回归、分类、聚类等的强大的机器学习库
Keras 深度学习库,用于建立神经网络以及深度学习模型
Gensim 用来做文本主题模型的库,文本挖掘可能用到

Numpy

Python并没有提供数组功能,虽然列表可以完成基本的数据功能,但它不是真正的数组,而且在数据量较大的时候,使用列表的速度会让人慢的难受。Numpy提供了真正的数组功能,以及对数据进行快速处理的函数。Numpy还是很多更高的第三方库的依赖库。

Numpy学习教程:NumPy中文文档易百教程——NumPy教程菜鸟教程——NumPy教程

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import numpy as np

a = np.array([2, 0, 1, 5])  # 创建一个一维数组
print(a)  # 输出一维数组a:[2 0 1 5]
print(a[3])  # 输出第四个元素:5
print(a[:3])  # 输出前三个元素:[2 0 1]
print(a.min())  # 输出最小值:0
a.sort()  # 将a的元素从小到大排序,此操作会直接修改a,因此这时a变成了[0 1 2 5]
print(a)

b = [1, 2, 3]  # 创建一个列表
print(b)  # 输出列表:[1,2,3]
print(min(b))  # 输出最小值:1

c = np.array([[1, 2, 3], [4, 5, 6]])  # 创建一个二维数组
print(c)
print(c * c)  # 输出数组的平方阵

d = [[1, 2, 3], [4, 5, 6]]
print(d)


执行结果:

[2 0 1 5]
5
[2 0 1]
0
[0 1 2 5]
[1, 2, 3]
1
[[1 2 3]
 [4 5 6]]
[[ 1  4  9]
 [16 25 36]]
[[1, 2, 3], [4, 5, 6]]

Scipy

Scipy提供了真正的矩阵,以及大量基于矩阵运算的对象和函数。

Scipy包含的功能有最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程常用的计算。

Scipy依赖于Numpy,因此安装Scipy之前要先安装Numpy。

学习教程参考:Scipy学习教程

Matplotlib

Matplotlib是一个绘图库,用于数据的可视化,它主要用于二维绘图,也可以进行简单的三维绘图。

因为Matplotlib默认的字体是英文字体,所以中文会无法正常显示,解决的办法是在作图之前手动指定默认字体为中文字体,如黑体(SimHei):

plt.rcParams['font.sans-serif'] = ['SimHei']  # 修改matplotlib的默认字体为黑体,以正常显示中文

另外,保存作图图像时,负号有可能显示不正常,可通过以下代码解决:

plt.rcParams['axes.unicode_miuus'] = False  # 解决保存图像时,负号(-)显示为方块的问题 

小建议:有时间可以多去Matplotlib提供的“画廊”看看它做出来的漂亮效果(画廊:http://matplotlib.org/gallery.html)。

学习教程:NumPy Matplotlib库

Pandas

Pandas是Python下最强大的数据分析和探索工具。它包含高级的数据结构和精巧的工具,使得在Python中处理数据非常快速和简单。Pandas构建在Numpy之上,它使得以Numpy为中心的应用很容易使用。

Pandas的功能非常强大,支持类似于SQL的数据增、删、查、改,并且带有丰富的数据处理函数;支持时间序列分析功能;支持灵活处理缺失数据等。可以阅读Pandas主要作者之一Wes McKinney写的《利用Python进行数据分析》一书,学习更详细的内容。

学习教程:  Pandas教程

猜你喜欢

转载自blog.csdn.net/qq_36569032/article/details/84291909