numpy基本概要

ndarray 数组储存单一数据类型多维数组

属性
  • ndim 返回int 表示数组维数
  • shape 返回tuple 尺寸 (m,n)
  • size int 元素总数,等于数组形状乘积(m*n)
  • dtype data-type 数组中元素类型
  • itemsize int 数组每个元素的大小

数组

reshape   改变数组
numpy.arange(start, stop, step, dtype)  step 步长

1.等差/等比

np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
num = 要生成的等步长的样本数量,默认为50 
endppoint = 该值为 true 时,数列中中包含stop值,反之不包含,默认是True。
retstep = 如果为 True 时,生成的数组中会显示间距,反之不显示。

np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)  base =对数 log 的底数。

2.zeros等基本数组

np.zeros((m,n))  00数组    ones((m,n))  11数组
np.eye(x)     单位矩阵     diag([x,y,z....])   对角矩阵

3.数组乘法

np.array(a) * np.array(b)  相当于数值对应相乘
np.array(a).dot(np.array(b))  矩阵的乘法的形式

随机数

np.random.random(size=(m,n) (m,n)数组// size=10 范围0-10)  随机数  默认0-1
np.random.rand(m,n,z..) 均匀分布
np.random.rand(m,n,z..)  标准正态分布
np.random.randint(0,10,size=(m,n))0-10之间 整数随机数 m*n

索引

a = np.arange(10)
s = slice(2,7,2)   # 从索引 2 开始到索引 7 停止,间隔为2
print (a[s]
a[1:-1:n]第一个到最后一个 间隔为n  二维数组

转换

ndarray.flatten(order='C')默认 横向展平一维   'C' -- 按行,'F' -- 按列,'A' -- 原顺序,'K' -- 元素在内存中的出现顺序
numpy.ravel(a, order='C')  会修改原始数组 flatten不会
翻转numpy.transpose(arr, axes) arr:要操作的数组axes:整数列表,对应维度,通常所有维度都会对换。
a.T 翻转
numpy.rollaxis(arr, axis, start) axis:要向后滚动的轴,其它轴的相对位置不会改变  start:默认为零,表示完整的滚动。会滚动到特定位置。

连接

numpy.stack(arrays, axis) arrays相同形状的数组序列 axis:返回数组中的轴,输入数组沿着它来堆叠
numpy.hstack 水平
numpy.vstack 竖直
concateante((m,n),axis = 0/1)

切割

spilt()
...

矩阵

mat
np.mat()/matrix

拼接

np.bmat('a b')  字符串类型  np.bmat('a b;b a')  

乘法

np.matrix(a) * np.matrix(b) 矩阵相乘
np.multiply(a,b)
T 转置 H 共轭转置 I 逆矩证 A返回自身二维数组的一个视图

广播机制

当运算中的 2 个数组的形状不同时,numpy 将自动触发广播机制
a = np.array([[ 0, 0, 0],
           [10,10,10],
           [20,20,20],
           [30,30,30]])
b = np.array([1,2,3])
print(a + b)
输出结果为:
[[ 1  2  3]
 [11 12 13]
 [21 22 23]
 [31 32 33]]

读写文件

  1. 存储时可以省略扩展名(自动生成.npy后缀),读取时不行
save('./',a)  以二进制格式保存数据  allow_pickle=True序列化
load  以二进制格式读取数据    allow_pickle=True序列化
savcz 将多个数组保持在一个文件 (.npz后缀) 
d.files    可以查看有几个 arr_0 ..
d['arr_0']来索引哪一个 

文本格式

np.loadtxt(FILENAME, dtype=int, delimiter=' ')  delimiter可以指定各种分隔符、针对特定列的转换器函数、需要跳过的行数等 

np.savetxt(FILENAME, a, fmt="%d",delimiter=",")  # %d=整数 loadtxt  加载到二维数组里 genfromtxt  结构化数组和缺失数据

统计分析

排序

sort() 排序  axis=0/1 横纵轴排列  numpy.sort(a, axis, kind, order)
argsort() 返回重新排序后的下标
lexsort() 按最后一个排序数据排序

去重

unique 去重
np.repeat(c,4.axis = None)  [1,9] ---[1,1,9,9]
tile(a,reps)                [1,9]----[1,9,1,9]
argmin/argmax最小/大元素索引
.......

你可能感兴趣的:(基本内容,numpy,python)