关于numpy的一些总结

 

一、Numpy的安装

1)直接pip(打开cmd ,pip(pip3) install numpy

2)下载对应版本的whl文件, https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 将下好的文件复制到python的Scripts目录下,打开cmd,网上目前有以下两种方式,第一种进入到Scripts目录下pip install (刚才下载好的whl文件全称)(不过貌似我没成功),或者在该目录下直接pippip3install numpy

总的来说,numpy的安装还是很简单的,注意对应版本即可

二、Numpy的一些基本用法(本人 新手小白,记录一些常用的操作)

函数库很多(不仅仅是numpy),想要全都记住很难,所以我们需要知道它能完成的功能,查找起来就方便很多。使用numpy时,需要导入numpy包,一般是import numpy as np,导入所有numpy函数包,from numpy import *

创建数组

直接使用numpy.array([1,2,3,4],dtype = float),一维数组,类型为float

或者numpy.arrage(9).reshape(3,3),创建33列的二维数组,其中reshape为重新调整数组的维度大小,其数字乘积必须与数组个数一致,如3*3 = 9;也可转换为3维数组numpy.arrage(9).reshape(1,3,3)

numpy.zeros([2,2])numpy.ones([2,2])分别创建两行两列的全0数组和全1数组

numpy.linspace(1,100,100)创建一维等差数组,从1100,总共100个数

数组切片

切片操作和python对数组的切片差不多,需要注意,如a =[[1,2,3],[4,5,6],[7,8,9]],

C = a[[0,1,2],[0,0,0]],索引结果为1,4,7,那么索引的就是(0,0),(1,0),(2,0)。Numpy的广播模式需要保证两个数组至少一个维度一样:

a.shape是(4,4),b.shape为(1,4)或(4,1)都可以进行广播(可以进行运算)

a.shape是(4,4),b.shape不是上述两种之一都不可进行广播,其中shape表示数组维度大小

使用np.squeeze时,去除的维度必须是1,否则会报错,如a.shape为(1,3,3),np.squeeze(a,0)输出结果为(3,3)

取出数组的前三行,a[:3],后三行,a[3:],前三列,a[:,:3],第三列,a[:.3],后三列:a[...,3:]

三、numpy的数学运算

NumPy 算术函数包含简单的加减乘除: add()subtract()multiply()  divide()

numpy.amin() 用于计算数组中的元素沿指定轴的最小值。

numpy.amax() 用于计算数组中的元素沿指定轴的最大值。

a =[[1,2,3],

[4,5,6],

[7,8,9]]

np.concatenate([a,b],axis = 0),按行进行拼接,axis = 1,按列进行拼接

numpy.admin(a,axis = 0),输出为每一列的最小值(1,2,3,axis=1输出每一行的,若不进行指定则为数组最小的数。其他的还有numpy.median()计算中位数,numpy.mean()计算平均数,numpy.std()计算标准差等。

深拷贝与浅拷贝

a =[[1,2,3],

[4,5,6],

[7,8,9]]

浅拷贝情况(新创建的对象更改不会影响原始数据)

b = a.view()

  b.reshape(1,3,3)

  print(a.shape)#结果还是为(3,3)并没有改变

深拷贝(新创建的对象更改会影响原始数据)

  1)b = a.copy()

  2)b = a

 保存为csv文件

 np.savetxt("out.csv",data,delimiter=',')

 简单加载csv文件

 np.genfromtxt("out.csv",delimiter = ',')

 处理标量数组,有定义函数fun,

 fun_v = np.vectorize(fun,otypes = [float])

 np.bincount(data),统计最小值到最大值的个数,最小值为0

本文只是简单介绍了numpy,具体的还需慢慢补充,感谢大家的阅读,希望对您有所帮助,持续更新中.........

posted @ 2019-11-13 10:54  远清  阅读(476)  评论(0)    收藏  举报