Python数据分析与展示-【第一周】数据分析之表示(MOOC课程笔记)

简介

文章作为个人速查知识笔记使用,不确保完全正确,现基本更新结束,笔记来源:中国大学MOOC-Python数据分析与展示

【第一周】数据分析之表示

单元1:NumPy库入门

NumPy的引用
在这里插入图片描述

ndarray对象的属性

在这里插入图片描述

ndarray数组的创建方法

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ndarray数组的维度变换

在这里插入图片描述
在这里插入图片描述

ndarray数组向列表的转换

在这里插入图片描述

数组的索引和切片

索引:获取数组中特定位置元素的过程
切片:获取数组元素子集的过程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

NumPy一元函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

NumPy二元函数

在这里插入图片描述
在这里插入图片描述

单元小结

在这里插入图片描述

单元2:NumPy数据存取与函数

数据的存取与函数

数据的CSV文件存取-常用作二维数据存取

CSV(Comma-Separated Value,逗号分隔值)
CSV是一种常见的文件格式,用来存储批量数据
在这里插入图片描述
存储成CSV文件用法:
在这里插入图片描述
在这里插入图片描述
加载CSV文件用法:
在这里插入图片描述
在这里插入图片描述

CSV文件的局限性

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

多维数据的存取

任意维度数据的存储:在这里插入图片描述
数据分割字符串使用逗号时:
在这里插入图片描述
数据分割字符串为空串时(sep默认参数是空串)写入文件为二进制:
在这里插入图片描述
二进制格式有更小的体积,可以当做备份使用

任意维度数据的读取:
在这里插入图片描述
注意:
(1)存储format=“%d”则读取使用dtype=np.int对应
(2)并且tofile方法存储成一维数据,原来数据维度丢失,故使用reshape方法将一维数据还原成原来的维度形状

数据分割字符串是逗号时:
在这里插入图片描述
数据分割字符串是空串时:
在这里插入图片描述

需要注意

fromfile方法读取时需要知道文件数据类型
在这里插入图片描述

NumPy的便捷文件存取

在这里插入图片描述
在这里插入图片描述

数据存取小结

对于我们编写程序来说,中间使用文件进行缓存,使用load和save方式是非常快捷有效的方法;存储一个文件与其他程序做交互或者对接,要考虑使用CSV文件或者前面tofile方法生成其他程序可以识别的文件。

NumPy的随机数函数

NumPy的随机数函数子库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

NumPy的统计函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

NumPy的梯度函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

单元小结

在这里插入图片描述
在这里插入图片描述

实例1:图像的手绘效果

图像的数组表示

图像的RGB色彩模式
在这里插入图片描述
在这里插入图片描述
PIL库
在这里插入图片描述
图像的数组表示
在这里插入图片描述
在这里插入图片描述

图像的变换

基本原理
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

“图像的手绘效果”实例分析

这里牵扯到除开Python外的其他许多知识
在这里插入图片描述
在这里插入图片描述

from PIL import Image
import numpy as np

a = np.asarray(Image.open('./beijing.jpg').convert('L')).astype('float')

depth = 10. 						# (0-100)
grad = np.gradient(a)				#取图像灰度的梯度值
grad_x, grad_y = grad 				#分别取横纵图像梯度值
grad_x = grad_x*depth/100.
grad_y = grad_y*depth/100.
A = np.sqrt(grad_x**2 + grad_y**2 + 1.)
uni_x = grad_x/A
uni_y = grad_y/A
uni_z = 1./A

vec_el = np.pi/2.2 					# 光源的俯视角度,弧度值
vec_az = np.pi/4. 					# 光源的方位角度,弧度值
dx = np.cos(vec_el)*np.cos(vec_az) 	#光源对x 轴的影响
dy = np.cos(vec_el)*np.sin(vec_az) 	#光源对y 轴的影响
dz = np.sin(vec_el) 				#光源对z 轴的影响

b = 255*(dx*uni_x + dy*uni_y + dz*uni_z) 	#光源归一化
b = b.clip(0,255)

im = Image.fromarray(b.astype('uint8')) 	#重构图像
im.save('./beijingHD.jpg')

“图像的手绘效果”实例编写

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第一周内容结束

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值