Python中的数据可视化工具与方法——常用的数据分析包numpy、pandas、statistics的理解实现和可视化工具matplotlib的使用

Python中的数据可视化工具与方法

本文主要总结了:
1、本人在初学python时对常用的数据分析包numpy、pandas、statistics的学习理解以及简单的实例实现
2、可视化工具matplotlib的学习与使用

使用编程软件为pycharm

一、什么是数据可视化
数据可视化就是把数据从冰冷的数字转换成图形,一个好的可视化,能够带给人们不仅仅是视觉上的冲击,还能够揭示蕴含在数据中的规律和道理。

1、 数据可视化的概念:
狭义上的数字可视化指的是将数据用统计图表方式呈现,广义上数据可视化是信息可视化其中一类,因为信息是包含了数字和非数字的。使用计算机创建图形图表,可视化提取出来的数据,将数据的各种属性和变量呈现出来。我们熟悉的那些饼图、直方图、散点图、柱状图等就是最原始的统计图表,它们是数据可视化的最基础和常见的应用。数据可视化一般包括数据的采集、分析、治理、管理、挖掘在内的一系列复杂数据处理,然后由设计师设计一种表现形式,是立体的、二维的、动态的、实时的还是允许交互的。然后由工程师创建对应的可视化算法及技术实现手段。包括建模方法、处理大规模数据的体系架构、交互技术、放大缩小方法等。动画工程师考虑表面材质、动画渲染方法等,交互设计师也会介入进行用户交互行为模式的设计。

2、 数据可视化的应用

同一份数据可以可视化成多种看起来截然不同的形式,数据可视化的开发是根据需求、数据维度或属性进行筛选:
(1) 有的可视化目标是为了观测、跟踪数据,所以就要强调实时性、变化、运算能力,一般就会生成一份不停变化、可读性强的图表。
(2) 有的为了分析数据,所以要强调数据的呈现度、可能就会生成一份可以检索、交互式的图表
(3) 有的为了发现数据之间的潜在关联,可能会生成分布式的多维的图表。
(4) 有的为了帮助普通用户或商业用户快速理解数据的含义或变化,会利用漂亮的颜色、动画创建生动、明了,具有吸引力的图表。
(5) 还有的被用于教育、宣传或政治,被制作成海报、课件,出现在街头、广告手持、杂志和集会上。这类可视化拥有强大的说服力,使用强烈的对比、置换等手段,可以创造出极具冲击力自指人心的图像。在国外许多媒体会根据新闻主题或数据,雇用设计师来创建可视化图表对新闻主题进行辅助。

3、 数据可视化的目标

传统的可视化可以大致分为探索性可视化和解释性可视化
按照应用来分,可视化有多个目标:
(1) 有效呈现重要特征
(2) 揭示客观规律
(3) 辅助理解事物概念和过程
(4) 对模拟和测量进行质量监控
(5) 提高科研开发效率
(6) 促进沟通交流和合作

4、 数据可视化的功能

按照宏观的角度看,可视化的三个功能:
(1) 信息记录
(2) 信息推理和分析
(3) 信息传播与协同

二、python中常用的数据分析包

1、numpy

(1) 功能
numpy全称numeric python,是一个由多维数组对象和用于处理数组的例程集合组成的库,是python数据分析中最基础的工具。可以对大数组的数据进行高效处理。NumPy是在一个连续的内存块中存储数据,独立于其他Python内置对象,如此便可以加速数据索引的速度。其次,NumPy调用了大量的用C语言编写的算法库,使得其可以直接操作内存,不必进行Python动态语言特性所含有的前期类型检查工作,从而大大提高了运算速度。最后,NumPy所有独有的可以在整个数组上执行复杂的计算也能够大幅提高运算效率(基于NumPy的算法要比纯Python快10到100倍,甚至会快更多)。利用numpy,可以轻松地使用python达到matlab中的矩阵、线性代数等等运算。

(2) numpy中常用的分析方法及举例

① 生成数组
用 Numpy 创建数组有多种方法。首先,Numpy 中的 array方法可以直接将 Python 的 list 类型转化为Numpy 的数组类型 ndarray。
(a)创建一个一维数组:
在这里插入图片描述

(b)创建一个二维数组:

在这里插入图片描述

注意,array方法中小括号中要包括一个中括号数组,而不能直接写成 np.array(1, 2, 3, 4)。

(c)Numpy中的zeros方法可以创建元素值全为 0的矩阵, ones方法可以创建元素值全为 1 的矩阵,而 empty方法可以创建一个元素值任意的一个空矩阵。
在这里插入图片描述

输出结果:

在这里插入图片描述

(d)Numpy 中的 arange函数可以生成一个等差数列的数组
在这里插入图片描述

输出结果:

在这里插入图片描述
(e)另外一个类似的函数为 linespace,不同的地方在于:arange 函数中第三个参数表示等差数组的步长,而 linespace 函数第三个参数表示一共生成的元素个数。若生成一系列等差的浮点数,则用 linespace 更好些。
在这里插入图片描述

② 数组索引与切片

(a)对于一维数组,Numpy 的索引切片类似 Python list 类型的索引切片

在这里插入图片描述

输出结果:

在这里插入图片描述

(b)对于多维数组,Numpy数组的索引和切片用逗号分隔不同维度

在这里插入图片描述

输出结果:

在这里插入图片描述

③ 数组运算

Numpy 可以对数组进行加减,幂运算,判断大小等

(a) 一维数组的运算
在这里插入图片描述

输出结果:

在这里插入图片描述

(b) Numpy 也支持二维数组的一些运算,包括矩阵的转置,逆矩阵,矩阵的乘积等
在这里插入图片描述

输出结果:

在这里插入图片描述

④ 随机抽样(numpy.random模块)

(a) np.random.rand() --> 生成指定维度的的[0,1)范围之间的随机数,输入参数为维度

具体实例:
在这里插入图片描述

Shape为[4,3,2]的意思就是生成四个三行两列的[0,1]之间随机数组
输出结果:
在这里插入图片描述

(b) np.random.randn() --> 生成指定维度的服从标准正态分布的随机数,输入参数为维度

具体实例:

  • 10
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值