小蛇学python(11)初窥numpy

作者: 跌跌撞撞小红豆 | 来源:发表于2018-05-26 21:29 被阅读169次

    今天我们来学学numpy这个库。重要性自不必说,直接切入主题。

    numpy的数组创建方法

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

    其中shape属性表现了这个数组的维度。

    numpy还有一些自带的数组创建方法

    a = np.zeros((3,3))
    b = np.ones((3,3))
    c = np.arange(0,10)
    d = np.arange(0,12).reshape(3,4)
    e = np.random.random(3,3)
    

    读者可以自行输入,观看结果,享受编码的乐趣。注意zeros和ones后面是跟了两组小括号的。

    numpy数组的运算

    有关numpy数组的简单运算,比如加减乘除,想必大家都能猜出来。完全靠想象就可以写出来代码,毕竟python是一门很贴近自然语言的编程语言。

    对了,numpy还可以进行自加加和自减减,以及直接求和,求最大最小值,求平均值求方差等一系列犀利操作,都是封装好的。毕竟,这是python很多库的基础。

    我演示一下一下,它对矩阵的操作。

    a = np.arange(0, 9).reshape(3,3)
    b = np.ones((3,3))
    print(a)
    print(b)
    print(a*b)
    print(np.dot(a,b))
    
    2-1

    一个是元素间相乘,一个是矩阵间相乘。大家不要弄混淆。

    numpy的优雅迭代

    大家循环都喜欢用for,可是numpy有一个更优美更简洁的方法。

    A = np.arange(0, 9).reshape(3, 3)
    B = np.apply_along_axis(np.mean, axis=0, arr=A)
    print(A)
    print(B)
    

    结果很明显,图就不贴了。第二行代码的意思就是,将A的每列求均值然后重新生成一个数组。

    相关文章

      网友评论

      本文标题:小蛇学python(11)初窥numpy

      本文链接:https://www.haomeiwen.com/subject/jdhvjftx.html