Python之numpy包 学习笔记

安装-----持续更新ing

终端输入

pip3 install numpy

导入

import numpy as np

重要函数

np.mean(array,axis=)

其中参数axis,以m * n矩阵举例:

axis 不设置值,对 m*n 个数求均值,返回一个实数

axis = 0:压缩行,对各列求均值,返回 1* n 矩阵

axis =1 :压缩列,对各行求均值,返回 m *1 矩阵

>>> now2
matrix([[1, 2, 3],
        [2, 3, 4],
        [3, 4, 5],
        [4, 5, 6]])
>>> np.mean(now2) # 对所有元素求均值
3.5


>>> np.mean(now2,0) # 压缩行,对各列求均值
matrix([[ 2.5,  3.5,  4.5]])


>>> np.mean(now2,1) # 压缩列,对各行求均值
matrix([[ 2.],
        [ 3.],
        [ 4.],
        [ 5.]])

np.hstack(array)

参数tup可以是元组,列表,或者numpy数组,返回结果为numpy的数组

这个函数比较难以用文字说明他的作用,就直接看个示例把

>>> a = np.array([[1],[2],[3]])
>>> b = np.array([[2],[3],[4]])
>>> np.hstack((a,b))
array([[1, 2],
       [2, 3],
       [3, 4]])

笼统地说就是把每个矩阵对应列合并

np.random.randn()

该函数从标准正态分布中返回一个或多个样本值

参数就是生成矩阵的shape,注意在不需要括号

即randn(2,3)就是生成一个2行3列的numpy.array

np.arange([start,] stop[, step,], dtype=None)

生成一个ndarray

start开始数字,stop结束数字,左闭右开,step为步长

>>> np.arange(3)  
array([0, 1, 2])  
>>> np.arange(3.0)  
array([ 0.,  1.,  2.])  
>>> np.arange(3,7)  
array([3, 4, 5, 6])  
>>> np.arange(3,7,2)  
array([3, 5])  

np.random.choice(a=5, size=3, replace=False, p=None)

 该函数是从a 中以概率P,随机选择size个, p没有指定的时候相当于是一致的分布

replace 参数如果设置为True,则生成的数中有一样的,可以理解为有放回的

看一个当p!=None的时候的例子

a2 = np.random.choice(a=5, size=3, replace=False, p=[0.2, 0.1, 0.3, 0.4, 0.0])

np.argmin(a,axis=)  ornp.argmax(a,axis=)

该函数是返回矩阵的最值的索引, 参数a就是矩阵,axis的意义与之前的max,sum等函数的axis意义相同,压缩列或者压缩行

返回一个ndarray

看几个例子

>>> a = np.array([[1,5,2],[2,7,8]])
>>> c= np.argmin(a,axis=0)
>>> c
array([0, 0, 0])
>>> c= np.argmax(a,axis=1)
>>> c
array([1, 2])
>>> c= np.argmax(a)
>>> c
5

np.reshape(a,(2,2))

这个函数用来对改变矩阵的shape,常用参数两个,

a就是你要改变的那个矩阵 ,

(2,2)是一个元组,代表新矩阵的shape

该函数返回一个ndarray,但是要注意:原矩阵不变,与不可变类型很像,直接看代码

>>> a= numpy.array([1,2,3,4])
>>> numpy.reshape(a,(2,2))
array([[1, 2],
       [3, 4]])
>>> a
array([1, 2, 3, 4])

猜你喜欢

转载自blog.csdn.net/qq_37702890/article/details/81481701