python数据分析之numpy学习二

一 数据存取与函数

一维/二维

数据的CSV文件存取

CSV(Comma-Separated Value,逗号分隔值)CSV是一种常见的文件格式,用来存储批量数据。

1 存储 np.savetxt(frame,  array,  fmt='%.18e',  delimiter=None)

参数 含义
frame 文件,字符串,或产生器,可以是.gz或.bz2的压缩文件
array 存入文件的数组
fmt 写入文件的格式,如%d  %.2f  %.18e
delimiter 分隔字符串,默认为任何空格

可以看出文件的存储以空格分隔数据

以记事本打开(以逗号隔开)

以excel打开(没有逗号,但是每个元素占据不同格)

2 打开文件np.loadtxt(frame,  dtype=np.float,  delimiter=None,    unpack=False)

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

3  CSV文件的局限性

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

多维数据的存取

1 数据存储  a.tofile(frame,  sep='',    format='%s')

参数 含义
frame 文件,字符串
sep 数据分隔字符串,如果是空串,写入文件为二进制
format 写入文件的格式

为一行数据,没有区分维度

2 数据读取 np.fromfile(frame,dtype=float,count=-1,sep='')

count为读入元素的个数,-1表示读入整个文件

但是该方法读取时需要知道存入文件时数组的维度和元素类型,a.tofile()和np.fromfile()可以配合使用,可以通过元数据文件来存储额外的信息

NumPy的便捷文件存取

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

参数 说明
frame 文件名,以.npy为扩展名,压缩文件为.npz
array 数组变量

np.load(frame)

用记事本打开之后可以看到维度信息。

二 NumPy的随机数函数

函数 说明
rand(shape) 浮点数,【0,1)均匀分布的浮点数,随机数数组
randn(shape) 标准正态分布的随机数数组
randint(low,high,shape) 范围是[low,high),随机整数或整数数组
seed(s) 随机数种子,s是给定的种子值。只要每次调用随机数函数之前都给定相同的种子,所产生的随机数是相同的

函数 说明
shuffle(a) 根据数组第0轴(最外层)进行随机排列,即最外层之间的顺序发生变化,改变数组a
permutation(a) 同shuffle但改变数组a
choice(a,shape,replace=False,p) 一维数组a中以概率p抽取元素,形成shape形状新数组,replace表示是否可以重用数组,默认为True

函数 说明
uniform(low,high,shape) 产生均匀分布的数组
normal(loc, scale,  shape) 产生具有正态分布的数组,loc为均值,scale为标准差.
poisson(lam,shape) 产生具有泊松分布的数组,lam为随机事件发生率,size为形状

三 Numpy的统计函数

函数 说明
sum(a,axis=None) 根据给定轴axis计算数组a的相关元素之和,axis为整数或元组
mean(a,axis=None) 根据给定轴axis计算数组a的相关元素的期望,axis为整数或元组
average(a,axis=None,weights=None) 根据给定轴axis计算数组a的相关元素加权平均值
std(a,axis=None) 根据给定轴axis计算数组a的相关元素标准差
var(a,axis=None) 根据给定轴axis计算数组a的相关元素方差

axis=None是默认参数

函数 说明
min(a) max(a) 计算数组元素a中的最大值,最小值
argmin(a)  argmax(a) 计算数组a中元素最小值,最大值的降一维后下标
unravel_index(index,shape) 根据shape将一维下标index转换为多维下标
ptp(a) 计算数组a中元素最大值与最小值的差
median(a) 计算数组a中元素的中位数(中值)

四 Numpy的梯度函数

函数 说明
np.gradient(f) 计算数组f中元素的梯度,当f为多维数组时,返回每个数组的梯度

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

XY坐标轴连续三个X坐标对应的Y轴值:a,b,c。则b的梯度为(c-a)/2

五 图像

图像一般使用RGB色彩模式,即每个像素的颜色由红,绿,蓝组成。

 RGB三个颜色通道的变化和叠加得到各种颜色,其中R(0-255),G(0-255),B(0-255)

PIL库是一个具有很强大图像处理能力的第三方库。 from PIL import Image

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

图像是一个由像素组成的二维矩阵,每个元素是一个RGB值(3个字节),即每个图像是由三个字节作为元素组成的二维矩阵。

1 图像的数组表示

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

2图像的变换

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

图像变换的基本流程

首先打开一个图像,然后对其RGB值进行运算,再把运算后的数组生成一个图像类型保存为文件。

convert指的是将彩色图片变化为灰度值的图片,生成二维数组而不是三维数组,每个元素不对应RGB的值,而是对应一个灰度值。

图像的手绘效果

猜你喜欢

转载自blog.csdn.net/qq_40123329/article/details/81288507