首页 python和人工智能正文

numpy 基本教程

numpy 是开源的python科学计算库,用于快速处理任意维度的数组。

基本介绍

numpy 使用 ndarray 对象处理数组。

ndarray的优势: 内存块分格,支持并行化运算,使用c语言底层编写,解除GIL

ndarray的属性:

    shape: 形状,几行几列

    ndim:维度

    size: 元素数量

    itemsize: 一个数组元素的长度

    dtype: 数组元素的类型

ndarray的形状: 0维   1维  2维。。。。


基本操作    :

    生成数组:

            生成01数组:  np.ones([,])  np.zeros([,])  zeros_like

            现有数组生成: np.array()   np.asarray() 浅拷贝   np.copy() 深拷贝

            生成固定范围的数组: 

                    np.linspace(start,stop,num)   

                    np.arange(start,stop,step)   结束(不包含)

            生成随机数组:

                    np.random.uniform(low,high,size)  均匀分布

                    np.random.normal(loc,scale,size)  状态分布  loc:均值  scale:标准差

                  np.random.randint(1,10,[3,5]) # 最小 最大  几行几列  int


    形状:

        T:转置  ,行列转换

        reshape: 产生新的对象  st.reshape(-1,10)   必须是10的倍数

        resize:  自身进行改变

        st2=st.astype(np.int32)            类型修改


    数组去重: np.unique(temp)


运算:

    逻辑运算:  st > 1                 st[st >1]        st[st>1]=2

    通用判断函数:  np.all(st >-10)       np.any(st>0)   

    三元运算符: np.where(st >0 ,1,0)

                            np.where(np.logical_and(st>0,st<0.5),1,0)

                            np.where(np.logical_or(st<0,st>0.5),1,0)

    统计运算:max min median std 标准差 mean var 方差 argmax 最大值下标 argmin

                    st.max(axis=0)

    矩阵:

                矩阵 向量

                m行 N列  *  N行 L列 = M行  L列

                a*b  不等于 b*a                a*(b*c)  =  (A*B)*c

                逆矩阵               a*b=单位矩阵  

                1 0 0

                0 1 0

                0 0 1

                转置


    数组间运算:

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

            a/2

             广播机制

             维度相同 或者 shape 对应的一个是1 (右到左边看)


    矩阵计算:

        a=np.array([[80,86],[82,80],[85,78]])

        b=np.array([[0.7],[0.3]])

        np.matmul(a,b)  

        np.dot(a,b)  # 支持点乘


版权声明本文仅代表作者观点,不代表本站立场。本文系作者授权发表,未经许可,不得转载。图文来源网络,侵权删!

搜索