用numpy打开一个文件:numpy.genfromtxt 例如:
world=numpy.genfromtxt("world.txt",delimiter=",",dtype='str')
print(type(world))
同时数据跟代码放在同一个文件夹下,不需要指定绝对路径,只需要输入名字即可
1.布尔值的索引
- 判断某个向量或者矩阵中是否有某个数值 可以用A.shape,来debug
2.因为只能返回为true的值,所以可以进行索引
3、其中冒号表示取所有的行数或者列数
例如下面这个程序,先判断第二列有没有25这个值
然后把25所在行的所有数值取出来
4.A.dtype可以用来判断A中的数值是什么类型
A.astype()可以用来修改A中数值的类型,例如下面例子中就是把vector中的字符型改成浮点型
5、A.min()表示取A中的最小值
想了解更多操作可以使用help()
6.axis可以当做一个维度索引,例如axis=1是对行进行操作,axis=0是对列进行操作
7.arange(15):表示从0到15(但是不包括15,即左闭右开区间)
8、reshape对矩阵整体进行变换,同时a.shape可以检查a的类型,
初始化一个零矩阵或者全1矩阵
用numpy构造一组序列,如下图就是从10开始到30(不包括30),差为5
numpy中random模块,可以用来初始化权重
用linspace指定起始值0,终点值2*pi,在这个区间上平均去取10个值
对于矩阵的乘法,A*B是对应位置相乘,A.dot(B)或者说np.dot(A,B)指的是矩阵A和B的矩阵乘法
numpy中一些基本的数学操作
floor表示向下取整
同时在reshape 操作中,给定其中一个参数,另外一个赋值-1,计算机会自动计算另一个维数
矩阵的拼接操作
np.hstack((a,b))是横着拼接
np.vstack((a,b))是纵着拼接
矩阵的切片操作:
np.hsplit(a,3):就是按照行对a进行切分成3份
np.hsplit(a,(3,4))传入一个元组在指定位置切分
np.vsplit():是按照列进行切分
关于复制的三种方法:
1、a.b只是名字不同,其实指向一个区域
a.view()进行浅复制,a和c虽然指向不同,但是共用一堆值
a.copy()进行深复制
numpy中一些常见的索引:
np.tile()表示进行一个扩展
b=np.tile(a,(2,2))表示对a进行扩展,行变成原来的两倍,列变成原来的两倍
对数组进行排序
a.sort(axis=1)表示按行对a 进行排序,从小到大
argsort()相当于是求索引
例如下面例子中,最小的1列数是2,下一个最小的列竖式3
之后再根据argsort()得出的索引,再次索引