欢迎光临散文网 会员登陆 & 注册

Python数据分析与展示笔记

2023-02-27 15:16 作者:编程小宇e  | 我要投稿

Python数据分析与展示笔


一、前言

1.1需要掌握的知识

掌握表示、清洗、统计和展示数据的能力

image.png

1.2编程工具

使用Anaconda IDE集成开发工具

需要理解和掌握如下工具的使用

conda

Spyder

IPython


二、Anaconda IDE的基本使用方法

2.1conda

一个工具,用于包管理和环境管理。

包管理与pip类似,管理Python第三方库。

环境管理能够允许用户使用不同版本Python,并能灵活切换。

conda将工具、第三方库、Python版本、conda都当作包,同等对待。

2.2anaconda

一个集合,包括conda、 某版本Python、 一批第三方库等。

2.3编程工具:Spyder

image.png

2.4IPython

它是一个功能强大的交互式shell,适合进行交互式数据可视化和GUI相关应用


IPython的%run命令

%run用于运行.py程序

注意: %run在一个空的命名空间执行%


IPython的%魔术命令

        

image.png

Python与IPython的区别

Python只是一个解释器,用户给一段输入,则它给一段输出。

IPython是一个能够调用核心的Python解释器的交互式环境,IPython只是前台的一个显示脚本,而对程序的执行是由后台的Python的内核执行。


三、Python语言开发工具选择

3.1文本工具类IDE介绍

IDLE

Notepad++

Sublime Text

Vim & Emacs

Atom

Komodo Edit

3.1.1IDLE

它是Python自带的、默认的、常用的入门级编写工具

适用于Python入门、功能简单直接、代码量小的需求

image.png

3.1.2Sublime Text

它是专门为程序员开发的第三方专用编程工具,具有专业的编程体验和多种编程风格

image.png


3.2集成工具类IDE

PyCharm

Wing

PyDev & Eclipse

Visual Studio

Anaconda & Spyder

Canopy

3.2.1通用类型

Wing

它是公司维护,工具收费的;调试功能丰富;版本控制,版本同步;适合多人共同开发

image.png

Visual Studio & PTVS

它是微软公司维护,Win环境为主,调试功能丰富的一款工具

image.png

Eclipse & PyDev

它是开源IDE开发工具,需要具备一定的开发环境

image.png

PyCharm

社区版免费简单,集成度高,适合较复杂工程

image.png

3.2.2科学计算&数据分析

Canopy

公司维护,工收费;支持近500个第三方库;适合科学计算领域应用开发        

image.png

Anaconda

开源免费;支持近800个第三方库

image.png


四、Numpy

4.1维度

一组数据的组织形式

一维数据;一维数据由对等关系的有序或无序数据构成,采用线性方式组织。

二维数据:二维数据由多个一维数据构成,是一维数据的组合形式。

多维数据:多维数据由一维或二维数据在新维度上扩展形成。

高维数据:高维数据仅利用最基本的二元关系展示数据间的复杂结构

4.2数据维度的Python表示

一维数组:列表和集合类型

image.png

维数据:列表类型

多维数据:列表类型

image.png

高维数据:字典类型或数据表示格式JSON、XML和YAML格式

image.png

4.3Numpy的数组对象:ndarray

NumPy

NumPy是一个 开源的Python科学计算基础库。

一个强大的N维数组对象ndarray

广播功能函数

整合C/C++/Fortran代码的工具

线性代数、傅里叶变换、随机数生成等功能

NumPy是SciPy、Pandas等 数据处理或科学计算库的基础。

NumPy的引用

import numpy as np


N维数组对象: ndarray

数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据。

设置专门的数组对象,经过优化,可以提升这类应用的运算速度。


观察:科学计算中,一个维度所有数据的类型往往相同。

数组对象采用相同的数据类型,有助于节省运算和存储空间。


ndarray是一个多维数组对象,由两部分构成:

实际的数据

描述这些数据的元数据(数据维度、数据类型等)

ndarray数组一般要求所有元素类型相同(同质),数组下标从0开始。


轴(axis):保存数据的维度

秩(rank):轴的数量


ndarray对象的属性

    

image.png

ndarray的元素类型

对比: Python语法仅支持整数、浮点数和复数3种类型

科学计算涉及数据较多,对存储和性能都有较高要求。

对元素类型精细定义,有助于NumPy合理使用存储空间并优化性能。

对元素类型精细定义,有助于程序员对程序规模有合理评估。


4.4ndarray数组的创建方法

从Python中的列表、元组等 类型创建ndarray数组

使用NumPy中函数创建ndarray数组,如: arange,ones, zeros等。

image.png

从字节流( raw bytes )中创建ndarray数组。

从文件中读取特定格式,创建ndarray数组。

4.5ndarray数组的操作

索引:获取数组中特定位置元素的过程

切片:获取数组元素子集的过程


一维数组的索引和切片

与Python的列表类似

    

image.png

多维数组的索引和切片


image.png
image.png

4.6ndarray数组的运算

数组与标量之间的运算作用于数组的每一个元素

image.png

4.7总结

数据的维度:一维、二维、多维、高维

ndarray类型属性创建和变换

数组的索引和切片

数组的运算:一元函数、二元函数


五、NumPy数据存取与函数

5.1保存CSV文件

np.savetxt(fname, array, fmt='%.18e', delimiter=None)

fname:文件、字符串或产生器,可以是.gz或.bz2的压缩文件。

array:存人文件的数组。

fmt:写入文件的格式,例如: %d %.2f %.18e。

delimiter:分割字符串,默认是任何空格。

image.png

5.2写入CSV文件

np.loadtxt(fname, dtype=np.float, delimiter=None,unpack=False)

fname:文件、字符串或产生器,可以是.gz或.bz2的压缩文件。

dtype:数据类型,可选。

delimiter:分割字符串,默认是任何空格。

unpack:如果True, 读入属性将分别写入不同变量。

image.png
image.png

5.3CSV文件的局限性

CSV只能有效存储一维和二维数组

np.savetxt() np.loadtxt()只能有效存取一维和二维数组

5.4多维数据的存取

a.tofile(firame, sep='format='%s')

fname:文件、字符串。

sep:数据分割字符串,如果是空串,写人文件为二进制。

format:写人数据的格式。

image.png
image.png

5.5多维数组的读取

ap.fromfile(fname, dtype=float, count=-1,sep='')


fname:文件、字符串。

dtype:读取的数据类型。

count:读入元素个数,-1表示读入整个文件。

sep:数据分割字符串,如果是空串,写人文件为二进制。

需要注意:

该方法需要读取时知道存入文件时数组的维度和元素类型

a.tofileO和np.fromfile(需要配合使用

可以通过元数据文件来存储额外信息

5.6NumPy的便捷文件存取

np.save(fname, array)或np.savez(fname, array)

fname:文件名,以.npy为扩展名,压缩扩展名为.npz

array:数组变量

np.load(fname)

5.7NumPy的随机函数

NumPy的随机数函数子库

image.png

np.random的随机数函数

image.png
image.png

5.8NumPy的统计函数

NumPy直接提供的统计类函数

image.png

np.random的统计函数

image.png

5.9NumPy的梯度

np.random的梯度函数

image.png

梯度:连续值之间的变化率,即斜率。

image.png

5.10总结

5.10.1数据存取

image.png

5.10.1随机函数

image.png

5.10.1统计函数

image.png

5.10.1梯度函数

image.png


六、图像的手绘效果

6.1图像库

PIL库:PIL, Python Image Library

PIL库是一个具有强大图像处理能力的第三方库

在命令行下的安装方法: pip install pillow

from PIL import Image

Image是PIL库中代表一个图像的类 (对象)

image.png

图像是一个三维数组,维度分别是高度、宽度和像素RGB值。


6.2图像的变换

读入图像后,获得像素RGB值,修改后保存为新的文件。

image.png
image.png

6.3图像的手绘效果实例分析

手绘效果的几个特征:

黑白灰色

边界线条较重

相同或相近色彩趋于白色

略有光源效果

image.png

6.4图像的手绘效果实例


6.4.1梯度的重构

利用像素之间的梯度值和虚拟深度值对图像进行重构

根据灰度变化来模拟人类视觉的明暗程度

image.png

6.4.2光源效果

根据灰度变化来模拟人类视觉的远近程度

image.png

●设计一个位于图像斜上方的虚拟光源

●光源相对于图像的俯视角为Elevation方位角为Azimuth

●建立光源对个点梯度值的影响函数

●运算出各点的新像素值


image.png

6.4.3梯度归一化

image.png

6.4.4图像生成

image.png

希望能够给对此感兴趣的小伙伴有所帮助。

获取方法:点赞关注+评论



粉丝:62.5万文章:712

能今天做好的事就不要等到明天。以梦为马,学习趁年华。

一、前言

1.1需要掌握的知识

掌握表示、清洗、统计和展示数据的能力

image.png

1.2编程工具

使用Anaconda IDE集成开发工具

需要理解和掌握如下工具的使用

conda

Spyder

IPython


二、Anaconda IDE的基本使用方法

2.1conda

一个工具,用于包管理和环境管理。

包管理与pip类似,管理Python第三方库。

环境管理能够允许用户使用不同版本Python,并能灵活切换。

conda将工具、第三方库、Python版本、conda都当作包,同等对待。

2.2anaconda

一个集合,包括conda、 某版本Python、 一批第三方库等。

2.3编程工具:Spyder

image.png

2.4IPython

它是一个功能强大的交互式shell,适合进行交互式数据可视化和GUI相关应用


IPython的%run命令

%run用于运行.py程序

注意: %run在一个空的命名空间执行%


IPython的%魔术命令

        

image.png

Python与IPython的区别

Python只是一个解释器,用户给一段输入,则它给一段输出。

IPython是一个能够调用核心的Python解释器的交互式环境,IPython只是前台的一个显示脚本,而对程序的执行是由后台的Python的内核执行。


三、Python语言开发工具选择

3.1文本工具类IDE介绍

IDLE

Notepad++

Sublime Text

Vim & Emacs

Atom

Komodo Edit

3.1.1IDLE

它是Python自带的、默认的、常用的入门级编写工具

适用于Python入门、功能简单直接、代码量小的需求

image.png

3.1.2Sublime Text

它是专门为程序员开发的第三方专用编程工具,具有专业的编程体验和多种编程风格

image.png


3.2集成工具类IDE

PyCharm

Wing

PyDev & Eclipse

Visual Studio

Anaconda & Spyder

Canopy

3.2.1通用类型

Wing

它是公司维护,工具收费的;调试功能丰富;版本控制,版本同步;适合多人共同开发

image.png

Visual Studio & PTVS

它是微软公司维护,Win环境为主,调试功能丰富的一款工具

image.png

Eclipse & PyDev

它是开源IDE开发工具,需要具备一定的开发环境

image.png

PyCharm

社区版免费简单,集成度高,适合较复杂工程

image.png

3.2.2科学计算&数据分析

Canopy

公司维护,工收费;支持近500个第三方库;适合科学计算领域应用开发        

image.png

Anaconda

开源免费;支持近800个第三方库

image.png


四、Numpy

4.1维度

一组数据的组织形式

一维数据;一维数据由对等关系的有序或无序数据构成,采用线性方式组织。

二维数据:二维数据由多个一维数据构成,是一维数据的组合形式。

多维数据:多维数据由一维或二维数据在新维度上扩展形成。

高维数据:高维数据仅利用最基本的二元关系展示数据间的复杂结构

4.2数据维度的Python表示

一维数组:列表和集合类型

image.png

维数据:列表类型

多维数据:列表类型

image.png

高维数据:字典类型或数据表示格式JSON、XML和YAML格式

image.png

4.3Numpy的数组对象:ndarray

NumPy

NumPy是一个 开源的Python科学计算基础库。

一个强大的N维数组对象ndarray

广播功能函数

整合C/C++/Fortran代码的工具

线性代数、傅里叶变换、随机数生成等功能

NumPy是SciPy、Pandas等 数据处理或科学计算库的基础。

NumPy的引用

import numpy as np


N维数组对象: ndarray

数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据。

设置专门的数组对象,经过优化,可以提升这类应用的运算速度。


观察:科学计算中,一个维度所有数据的类型往往相同。

数组对象采用相同的数据类型,有助于节省运算和存储空间。


ndarray是一个多维数组对象,由两部分构成:

实际的数据

描述这些数据的元数据(数据维度、数据类型等)

ndarray数组一般要求所有元素类型相同(同质),数组下标从0开始。


轴(axis):保存数据的维度

秩(rank):轴的数量


ndarray对象的属性

    

image.png

ndarray的元素类型

对比: Python语法仅支持整数、浮点数和复数3种类型

科学计算涉及数据较多,对存储和性能都有较高要求。

对元素类型精细定义,有助于NumPy合理使用存储空间并优化性能。

对元素类型精细定义,有助于程序员对程序规模有合理评估。


4.4ndarray数组的创建方法

从Python中的列表、元组等 类型创建ndarray数组

使用NumPy中函数创建ndarray数组,如: arange,ones, zeros等。

image.png

从字节流( raw bytes )中创建ndarray数组。

从文件中读取特定格式,创建ndarray数组。

4.5ndarray数组的操作

索引:获取数组中特定位置元素的过程

切片:获取数组元素子集的过程


一维数组的索引和切片

与Python的列表类似

    

image.png

多维数组的索引和切片


image.png
image.png

4.6ndarray数组的运算

数组与标量之间的运算作用于数组的每一个元素

image.png

4.7总结

数据的维度:一维、二维、多维、高维

ndarray类型属性创建和变换

数组的索引和切片

数组的运算:一元函数、二元函数


五、NumPy数据存取与函数

5.1保存CSV文件

np.savetxt(fname, array, fmt='%.18e', delimiter=None)

fname:文件、字符串或产生器,可以是.gz或.bz2的压缩文件。

array:存人文件的数组。

fmt:写入文件的格式,例如: %d %.2f %.18e。

delimiter:分割字符串,默认是任何空格。

image.png

5.2写入CSV文件

np.loadtxt(fname, dtype=np.float, delimiter=None,unpack=False)

fname:文件、字符串或产生器,可以是.gz或.bz2的压缩文件。

dtype:数据类型,可选。

delimiter:分割字符串,默认是任何空格。

unpack:如果True, 读入属性将分别写入不同变量。

image.png
image.png

5.3CSV文件的局限性

CSV只能有效存储一维和二维数组

np.savetxt() np.loadtxt()只能有效存取一维和二维数组

5.4多维数据的存取

a.tofile(firame, sep='format='%s')

fname:文件、字符串。

sep:数据分割字符串,如果是空串,写人文件为二进制。

format:写人数据的格式。

image.png
image.png

5.5多维数组的读取

ap.fromfile(fname, dtype=float, count=-1,sep='')


fname:文件、字符串。

dtype:读取的数据类型。

count:读入元素个数,-1表示读入整个文件。

sep:数据分割字符串,如果是空串,写人文件为二进制。

需要注意:

该方法需要读取时知道存入文件时数组的维度和元素类型

a.tofileO和np.fromfile(需要配合使用

可以通过元数据文件来存储额外信息

5.6NumPy的便捷文件存取

np.save(fname, array)或np.savez(fname, array)

fname:文件名,以.npy为扩展名,压缩扩展名为.npz

array:数组变量

np.load(fname)

5.7NumPy的随机函数

NumPy的随机数函数子库

image.png

np.random的随机数函数

image.png
image.png

5.8NumPy的统计函数

NumPy直接提供的统计类函数

image.png

np.random的统计函数

image.png

5.9NumPy的梯度

np.random的梯度函数

image.png

梯度:连续值之间的变化率,即斜率。

image.png

5.10总结

5.10.1数据存取

image.png

5.10.1随机函数

image.png

5.10.1统计函数

image.png

5.10.1梯度函数

image.png


六、图像的手绘效果

6.1图像库

PIL库:PIL, Python Image Library

PIL库是一个具有强大图像处理能力的第三方库

在命令行下的安装方法: pip install pillow

from PIL import Image

Image是PIL库中代表一个图像的类 (对象)

image.png

图像是一个三维数组,维度分别是高度、宽度和像素RGB值。


6.2图像的变换

读入图像后,获得像素RGB值,修改后保存为新的文件。

image.png
image.png

6.3图像的手绘效果实例分析

手绘效果的几个特征:

黑白灰色

边界线条较重

相同或相近色彩趋于白色

略有光源效果

image.png

6.4图像的手绘效果实例


6.4.1梯度的重构

利用像素之间的梯度值和虚拟深度值对图像进行重构

根据灰度变化来模拟人类视觉的明暗程度

image.png

6.4.2光源效果

根据灰度变化来模拟人类视觉的远近程度

image.png

●设计一个位于图像斜上方的虚拟光源

●光源相对于图像的俯视角为Elevation方位角为Azimuth

●建立光源对个点梯度值的影响函数

●运算出各点的新像素值


image.png

6.4.3梯度归一化

image.png

6.4.4图像生成

image.png

希望能够给对此感兴趣的小伙伴有所帮助。


Python数据分析与展示笔记的评论 (共 条)

分享到微博请遵守国家法律