Python数据分析与展示(二):数据分析与展示
数据的CSV文件存取:
1 np.savetxt(frame, array, fmt='%.18e', delimiter=None) 2 • frame : 文件、字符串或产生器,可以是.gz或.bz2的压缩文件 3 • array : 存入文件的数组 4 • fmt : 写入文件的格式,例如:%d(整数) %.2f(包含两个小数的浮点数) %.18e(科学记数法) 5 • delimiter : 分割字符串,默认是任何空格,在csv中定义为“,“
例子:
1 a = np.arange(100).reshape(5,20) 2 np.savetxt('1.csv',a,fmt='%d',delimiter=',')
1 np.loadtxt(frame, dtype=np.float, delimiter=None, unpack=False) 2 • frame : 文件、字符串或产生器,可以是.gz或.bz2的压缩文件 3 • dtype : 数据类型,可选 4 • delimiter : 分割字符串,默认是任何空格 5 • unpack : 如果True,读入属性将分别写入不同变量
CSV只能有效存储一维和二维数组
np.savetxt() np.loadtxt()只能有效存取一维和二维数组
多维数据的存取
1 a.tofile(frame, sep='', format='%s') 2 • frame : 文件、字符串 3 • sep : 数据分割字符串,如果是空串,写入文件为二进制 4 • format : 写入数据的格式
例子:
1 c = np.arange(100).reshape(5,10,2) 2 c.tofile("2.dat",sep=',',format = '%d')
1 p.fromfile(frame, dtype=float, count=‐1, sep='') 2 • frame : 文件、字符串 3 • dtype : 读取的数据类型 4 • count : 读入元素个数,‐1表示读入整个文件 5 • sep : 数据分割字符串,如果是空串,写入文件为二进制
该方法需要读取时知道存入文件时数组的维度和元素类型,a.tofile()和np.fromfile()需要配合使用,可以通过元数据文件来存储额外信息。
NumPy的便捷文件存取:
1 np.save(fname, array) 或 np.savez(fname, array) 2 • fname : 文件名,以.npy为扩展名,压缩扩展名为.npz 这个可以存储多维数据,以numpy自定义的格式存储,不需要指示出维度来提取。 3 • array : 数组变量 4 np.load(fname) 5 • fname : 文件名,以.npy为扩展名,压缩扩展名为.npz
NumPy的随机数函数:np.random.*
实例:
1 import numpy as np 2 3 b=np.random.randint(100,200,(8,)) 4 5 b 6 Out[11]: array([176, 196, 149, 121, 123, 190, 166, 167]) 7 8 np.random.choice(b,(3,2)) 9 Out[12]: 10 array([[121, 166], 11 [121, 196], 12 [166, 196]]) 13 14 np.random.choice(b,(3,2),replace=False) 15 Out[13]: 16 array([[176, 190], 17 [121, 196], 18 [123, 166]]) 19 20 np.random.choice(b,(3,2),p=b/np.sum(b)) 21 Out[14]: 22 array([[190, 196], 23 [176, 176], 24 [123, 167]])
NumPy的统计函数:np.*
NumPy的梯度函数:
np.gradient(f) 计算数组f中元素的梯度,当f为多维时,返回每个维度梯度
反应元素的变化率,可以提取声音图像的边缘
---------------------
作者:Famir_Tse
来源:CSDN
原文:https://blog.csdn.net/famirtse/article/details/80465407
版权声明:本文为博主原创文章,转载请附上博文链接!