zoukankan      html  css  js  c++  java
  • 矩阵操作2

    数值操作

    取整:
    a = 3.75
    int(a)
    3
    四舍五入:
    round(3.25)
    3
    向上取整:
    math.ceil(3.25)
    4
    取整数和小数部分:
    math.modf(3.75)
    (0.75, 3.0)

    矩阵转化

    b = np.array([1.23,12.201,123.1])
    b.dtype
    结果:dtype('float64')
    
    c = b.astype(int)
    结果:array([  1,  12, 123])
    
    c.dtype
    结果:dtype('int32')

    创建矩阵:

    ones创建全1矩阵 ,zeros创建全0矩阵 ,eye创建单位矩阵 ,empty创建空矩阵(实际有值)

    一维:
    b=np.array([1,2,3])
    或者
    b=np.arange(4,6)
    二维: b
    =np.array([(1,2,3),(4,5,6)]) 或者 b=np.array([(1,2,3),(4,5,6)])

    矩阵的合并可以通过numpy中的hstack方法和vstack方法实现:

    hstack()函数对应矩阵的横向拼接

    vstack()函数对应矩阵的纵向拼接

    矩阵相乘:

    c=a.dot(b)

    矩阵转置:

    a.T

    矩阵的逆:

    求矩阵的逆需要先导入numpy.linalg,用linalg的inv函数来求逆。矩阵求逆的条件是矩阵应该是方阵。

    import numpy.linalg as lg
    
    b=lg.inv(a)

    获取矩阵最值:

    整个矩阵:
    a.max()  a.min()
    
    行后者列的最值:
    a.max(axis=0)  列最值
    a.max(axis=1)  行最值

    获取最值位置:
    a.argmax(axis=1) 最大值位置

    获取矩阵的平均值:

    所有值的均值
    a.mean()
    列的均值
    a.mean(axis=0)
    行的均值
    a.mean(axis=1)

    获取矩阵的方差:

    方差的函数为var,方差函数var相当于函数mean(abs(x - x.mean)**2),其中x为矩阵。

    所有值
    a.var()
    列
    a.var(axis=0)
    行
    a.var(axis=1)

    获取矩阵的标准差:

    标准差的函数为std。 std相当于sqrt(mean(abs(x - x.mean)**2)),或相当于sqrt(x.var)。

    所有值
    a.std()
    列
    a.std(axis=0) 

    a.std(axis=1)

    获取矩阵的中值:

    中值指的是将序列按大小顺序排列后,排在中间的那个值,如果有偶数个数,则是排在中间两个数的平均值。中值的函数是median,调用方法为numpy.median(x,[axis]),axis可指定轴方向,默认axis=None,对所有数取中值。

    所有值
    np.median(a)
    列
    np.median(a,axis=0) 

    np.median(a,axis=1)

    求和函数和标准差写法类似用sum()函数。

    
    
  • 相关阅读:
    Redis的探究
    白话插件框架原理
    Jquery文本框值改变事件兼容性
    HDU多校练习第一场4608——I_Number
    0-创建scott数据
    句柄和指针
    openssl编译(VC6.0)
    CrashRpt_v.1.4.2_vs2008_also_ok
    文件转换dll mingw
    qt windows分发工具使用(windoployqt)
  • 原文地址:https://www.cnblogs.com/51python/p/10292006.html
Copyright © 2011-2022 走看看