听课笔记
1.ndarray数组
方法为np.array() 生成一个ndarray数组,其轴(axis)为保存数据的维度,秩(rank)为轴的数量
import numpy as np a = np.array([[1,5,8],[1,2,4]]) print(a)
输出为
[[1 5 8]
[1 2 4]]
ndarray对象的属性
在Anaconda内的IPython窗口对上面定义的ndarray对象查看这些属性:
ndarray元素的数据类型多种多样,但一个数组内的元素通常为一个类型
尽量避免使用非同质的ndarray数组
ndarray数组的创建方法
1.从Python中的列表、元组等类型创建ndarray数组。
x = np.array(list/tuple)
x = np.array(list/tuple, dtype= np.float32)
当np.array0不指定dtype时,NumPy将根据数据情况关联一个dtype类型。
2.使用NumPy中函数创建ndarray数组,如:arange,ones, zeros等。
列如:
根据上述方法衍生的方法:
3.使用NumPy中其他函数创建ndarray数组
例如:
np.concatenate的格式为np.concatenate(a,b)
ndarray数组维度变换
ndarray数组数据类型变换
new_a=a.astype(new_type)
ndarray数组向列表转变
ndarray数组的索引和切片
切片区间范围为左闭右开。
Numpy一元函数
Numpy二元函数
CSV文件
CSV文件也叫逗号分隔值文件,用来存储批量数据。常用来存储一维和二维数据。
np.savetxt(frame, array, fmt='%.18e', delimiter=None)
frame: 文件、字符串或产生器,可以是.gz或.bz2的压
缩文件。
array:存人文件的数组。
fmt: 写入文件的格式,例如: %d %.2f %.18e。
delimiter:分割字符串,默认是任何空格,要求定义为逗号。
CSV文件的读取
np.loadtxt(frame, dtype=np.float, delimiter=None,unpack=False)
frame: 文件、字符串或产生器,可以是.gz或.bz2的压
缩文件。
dtype:数据类型,可选。
delimiter:分割字符串,默认是任何空格。
unpack:如果True,读入属性将分别写入不同变量。
savetxt和loadtxt只能有效存储和读取一二维数组
多维数据的存取
存储
a.tofile(frame, sep=", format='%s')
frame:文件、字符串。
sep:数据分割字符串,如果是空串,写人文件为二进制。
format:写人数据的格式。
文件中不显示维度信息
读取
np.fromfile(frame, dtype=float, count=-1, sep=')
frame: 文件、字符串。
dtype:读取的数据类型。
count:读入元素个数,-1表示读入整个文件。
sep:数据分割字符串,如果是空串,写人文件为二进制。
由于存储的文件丢失了维度信息,故需要用reshape再导入函数信息。