Numpy基本用法

Numpy是一个科学计算库,其中提供的ndarray具有很多优势。

ndarray的属性:

 

 

  在创建ndarray时,如果没有指定,会设定为int64或者float64类型

  创建时可以使用np.array([[1,2,3],[4,5,6]],dtype=np.float32),对ndarray的类型进行指定。

生成数组的方法:

  1)生成0和1数组:

  np.zeros(shape,dtype)

  np.ones(shape,dtype)

  2)从已有的数组中生成ndarray

  np.array()      深拷贝

  np.asarray()  浅拷贝

  np.copy()    深拷贝

  3)生成固定范围的数组

  np.linspace(start,end,step)      数据范围是两边闭区间

  np.arange(start,end,step)   数据范围是左闭右开

  4)生成随机数组

  均匀分布:

  生成[0,1)范围内的一组均匀的数

  np.random.rand(d0,d1....dn)

  从一个均匀分布中随机采样

  np.random.uniform(low=0.0,high=1.0,size=None)

  返回值为ndarray类型,形状与参数size中描述的一致

  np.random.randint(low,high=None,size=None,dtype="l")

  从一个均匀分布中随机采样,生成一个整数或者N维整数数组。

  若high不为None,取[low,high),否则取[0,low)  

  正态分布:

  np.random.normal(loc=0.0,scale=1.0,size=None)

  loc:float 均值

  scale:float 标准差

  size:输出的shape

  返回值为指定的正态分布的数组

  5)形状修改

  ndarray.reshape(shape)

  不是直接改变行列,直接重新分组 返回新的ndarray,原始数据没有改

  ndarray.resize(shape)

  与上函数结果相同,但是不返回数组,直接在原数组上进行修改

  ndarray.T

  行列互换,进行转置运算

  6)类型修改

  ndarray.astype(type)

  进行类型的修改

  ndarray.tostring()

  ndarray序列化到本地

数组间运算:

  1)数组与数的运算

  直接使用符号,符号可以作用到数中的每个元素。

  2)数组与数组的运算

  数组与数组之间的运算需要满足广播机制

      

  3)矩阵运算

  Numpy中存储矩阵的方法有两种:

  ①使用ndarray来存储矩阵

  ②使用matrix来存储矩阵

   np.mat(ndarray)

  矩阵乘法:

  np.matmul(ndarray1,ndarray2)

  np.dot(ndarray1,ndarray2)

  若用ndarray来存储矩阵,可以使用@运算符

  若用matrix来存储矩阵,可以使用*运算符

合并与分割:

  1)合并:

  np.hstack() 

  水平拼接

  np.vstack()

  竖直拼接

  np.concatenate(axis)

  可以通过axis来执行进行竖直拼接或者水平拼接

  传入参数为tuple类型,包括要进行拼接的ndarray

  2)分割:

  np.split(ary,axis)

  传入分割的数组和分割的方向。

  也可以传入列表,表示分割的索引。

IO操作:

  读取文件:

  np.genfromtxt(path,delimiter=",")

  前面传入文件路径,后面定义分割符号。

  numpy读取会将缺失值写为nan,同时字符串也会写为nan。

  nan数据可以通过两种方式进行处理:

  ①将存在nan的值直接删除。

  ②将nan的值进行替换。

 

 

 

  

 

 

 

  

  

posted @ 2019-11-06 15:31  Dark~Clearlove  阅读(375)  评论(0编辑  收藏  举报