import numpy as np

1产生与属性

1.1数组:

要求元素类型相同

a=np.array([1,2,3,4],dtype=类型(int或者float等等) )

1.2基础运算:

加减乘除
在a上的操作都是针对所有的数字的
a+1,所有数字加1

1.3判断:

当数组接>value或 < value 时可以给出数组中每个值与value的大小情况

1.4由列表产生:

a=np.array(列表命或者具体夫人列表)

1.5全部是0的数组:

a=np.zeros(number) number是0的个数

1.6全部是1:

a=np.ones(number)
a=np.ones(number,dtype=’返回的类型可以是int 或者bool’)

1.7指定具体值

a.fill(value) 将已经产生好的数组的所有数字赋值位value

1.8转换类型:

a=a.astype(‘ 基本数据类型’) //a已经产生,astype返回新数组
或者
a=np.asarray(a,dtype=类型)


1.9生成整数序列:

a=np.arrange(number,number2) //数字是起点和终点 左闭右开 还可以加间隔数
类似于等差数列中的那个p

1.10生成等差序列:

a=np.linspace(number1,number2,生成的个数)左闭右闭从number1到2

1.11生成随机数:

np.random.rand(个数)
np.random.randn(个数)标准正态分布的随机数
np.random.randint(个数) 生成随机整数

1.12查看:

a.ndim查看数组是几维的

a.dtype查看类型
a.shape返回一个元组,元组中的值是这一维的数目适用于多维数组

a.size查看元素数目
索引跟列表差不多,也支持负索引


1.13多维数组的索引:

a[行数,列数]
a[ : ,1] 每行第一个
数组的引用机制:
b=a[ :3]
如果改变了b的值例如b[0]=12
那么a中的值也会改变,系统没有位b开辟空间存储,只是让它指向原数组
列表与此相反

1.14数组的赋值:

b=a[ :3].copy( )

1.15一维花式索引:

image.png
[10,20,70]

布尔值索引:

image.png
根据mask位置返回对应于a数组中对应值并且在mask中是true

1.16二维花式索引:

image.png
即a[ [行数,行数],[列数,列数] ]
或者a[(行数,行数),(列数,列数)]
where语句:
会返回一个元组
例如np.where(a>10) 会返回数组a中所有>10的元素索引数字
此外 a[np.where(a>10) ]就可以得到具体的值
image.png

2操作:

2.1排序

np.sort(a) 返回一个排好序的新数组,原数组是没变的,需不需要变动原数组自己决定
np.argsort() 实用性不错 返回一个数组,数组里是从小到大的 索引数字,想得到具体内容外面加[ ]就可以

2.2求和:

a.sum( )就可以
np.sum(a)

2.3最值:

np.max(a)
np.min(a)
a.max( )
a.min( )

2.4均值

a.mean( )
np.mean(a)

2.5 标准差

np.std(a)

2.6相关系数矩阵

np.cov( a,b)

2.7转换形状

a.shape=2,3 变成两行三列的数组,会改变原来的的数组
a.reshape( ) 作用同上,但不改变原数组

2.8转置

  1. a.T 后面没有括号<br /> a.transpose( ) 本身不会变化

2.9数组连接

np.concentate((数组1,数组2 ) axis=0) 默认按列来拼接

纵向拼接:

image.png

横向拼接:

image.png

其他的:
np.vstack( )纵向拼接
np.hstack(a,b)横向拼接
其他的内置函数有需要自己查