zoukankan      html  css  js  c++  java
  • 初学Numpy(二)

    数组和标量之间的运算

    数组很重要,因为他使你不用编写循环就可以对数据执行批量的运算,这通常叫做矢量化。

    (1)大小相等的数组之间的任何算术运算都会将运算应用到元素级;

    (2)带下不等的数组之间的运算叫做广播。

     1 import numpy as np
     2 from pprint import pprint
     3 arr1 = np.array([[x+1,x+2,x+3]for x in range(2)])
     4 print "arr1:",
     5 pprint(arr1)
     6 
     7 print("arr1*arr1:")
     8 pprint(arr1*arr1)
     9 
    10 print("arr1-arr1:")
    11 pprint(arr1-arr1)
    12 
    13 print("1/arr1:")
    14 pprint(1/arr1)
    15 
    16 print("arr1**0.5:")
    17 pprint(arr1**0.5)

    运行结果:

    arr1:array([[1, 2, 3],
           [2, 3, 4]])
    arr1*arr1:
    array([[ 1,  4,  9],
           [ 4,  9, 16]])
    arr1-arr1:
    array([[0, 0, 0],
           [0, 0, 0]])
    1/arr1:
    array([[1, 0, 0],
           [0, 0, 0]])
    arr1**0.5:
    array([[ 1.        ,  1.41421356,  1.73205081],
           [ 1.41421356,  1.73205081,  2.        ]])

    基本的索引和切片

    由于Numpy的设计目的是处理大数据,所以Numpy的对数组的修改都会直接反映到源数组上,如赋值操作。

     1 #二维数组
     2 '''
     3 在一个二维数组中,各索引位置上的元素不再是标量而是一维数组
     4 '''
     5 arr_2d = np.array([[x,x+1,x+2]for x in range(3)])
     6 pprint(arr_2d)
     7 
     8 #一次传入多个切片
     9 pprint(arr_2d[:2,1:])
    10 pprint(arr_2d[:,:1])#只有冒号表示选取整个轴
    11 
    12 #通过将整数和切片混合,可以得到低维度的切片
    13 pprint(arr_2d[2][1:])
    14 
    15 #切片赋值操作,会扩散到整个选区
    16 arr_2d[:,:1] = 0
    17 pprint(arr_2d)

    运行结果:

     1 array([[0, 1, 2],
     2        [1, 2, 3],
     3        [2, 3, 4]])
     4 array([[1, 2],
     5        [2, 3]])
     6 array([[0],
     7        [1],
     8        [2]])
     9 array([3, 4])
    10 array([[0, 1, 2],
    11        [0, 2, 3],
    12        [0, 3, 4]])
  • 相关阅读:
    Java正则表达式入门1
    JAVA中正则表达式总结
    Java正则表达式入门
    java String.valueOf()的作用
    【HDOJ】3601 Coach Yehr’s punishment
    【HDOJ】4601 Letter Tree
    【HDOJ】3686 Traffic Real Time Query System
    【HDOJ】5296 Annoying problem
    【HDOJ】3553 Just a String
    【HDOJ】4426 Palindromic Substring
  • 原文地址:https://www.cnblogs.com/zenzen/p/4861069.html
Copyright © 2011-2022 走看看