python-numpy最全攻略一slice, index

  1. numpy创建
import numpy as np
# 1-d
arr = np.array([1, 2, 3])
print('1-d:', arr)
# 2-d
arr = np.array([[1, 2, 3],
                [4, 5, 6]])
print('2-d:', arr)
# tuple
arr = np.array((1, 3, 2))
print('create by tuple:', arr)
1-d: [1 2 3]
2-d: [[1 2 3]
 [4 5 6]]
create by tuple: [1 3 2]
  1. numpy切片
import numpy as np
arr = np.array([[-1, 2, 0, 4],
                [4, -0.5, 6, 0],
                [2.6, 0, 7, 8],
                [3, -7, 4, 2.0]])
print("Initial Array: ")
print(arr)
# 0-1 行, 02
sliced_arr = arr[:2, ::2]
print ("Array with first 2 rows and"
    " alternate columns(0 and 2):\n", sliced_arr)
Initial Array: 
[[-1.   2.   0.   4. ]
 [ 4.  -0.5  6.   0. ]
 [ 2.6  0.   7.   8. ]
 [ 3.  -7.   4.   2. ]]
Array with first 2 rows and alternate columns(0 and 2):
 [[-1.  0.]
 [ 4.  6.]]
# Python program for basic slicing 
# and indexing
import numpy as np
 
# A 3-Dimensional array
a = np.array([[0, 1, 2, 3, 4, 5],
              [6, 7, 8, 9, 10, 11],
              [12, 13, 14, 15, 16, 17],
              [18, 19, 20, 21, 22, 23],
              [24, 25, 26, 27, 28, 29],
              [30, 31, 32, 33, 34, 35]])
print(a)
 
# slicing and indexing
print("\n a[0, 3:5]  = ",a[0, 3:5]) 
 
print("\n a[4:, 4:]  = ",a[4:, 4:]) 
 
print("\n a[:, 2]  = ",a[:, 2]) 
 
print("\n a[2:;2, ::2]  = ",a[2::2, ::2]) 
[[ 0  1  2  3  4  5]
 [ 6  7  8  9 10 11]
 [12 13 14 15 16 17]
 [18 19 20 21 22 23]
 [24 25 26 27 28 29]
 [30 31 32 33 34 35]]

 a[0, 3:5]  =  [3 4]

 a[4:, 4:]  =  [[28 29]
 [34 35]]

 a[:, 2]  =  [ 2  8 14 20 26 32]

 a[2:;2, ::2]  =  [[12 14 16]
 [24 26 28]]

在这里插入图片描述

# Python program for indexing using 
# basic slicing with ellipsis
import numpy as np
 
# A 3 dimensional array.2 * 2 * 3
b = np.array([[[1, 2, 3],
               [4, 5, 6]],
              
              [[7, 8, 9],
               [10, 11, 12]]])
print(b[...,1]) #Equivalent to b[: ,: ,1 ]
b[: ,: ,1 ]
[[ 2  5]
 [ 8 11]]
array([[ 2,  5],
       [ 8, 11]])
  1. numpy取值index
import numpy as np
arr = np.array([[-1, 2, 0, 4],
                [4, -0.5, 6, 0],
                [2.6, 0, 7, 8],
                [3, -7, 4, 2.0]])
print("Initial Array: ")
print(arr)
# 取值
Index_arr = arr[[1, 1, 0, 3], # row
                [3, 2, 1, 0]] #cols
print ("\nElements at indices (1, 3), "
    "(1, 2), (0, 1), (3, 0):\n", Index_arr)
Initial Array: 
[[-1.   2.   0.   4. ]
 [ 4.  -0.5  6.   0. ]
 [ 2.6  0.   7.   8. ]
 [ 3.  -7.   4.   2. ]]

Elements at indices (1, 3), (1, 2), (0, 1), (3, 0):
 [0. 6. 2. 3.]
# Python program showing advanced indexing
import numpy as np
 
a = np.array([[1 ,2 ],
              [3 ,4 ],
              [5 ,6 ]])
print(a[[0 ,1 ,2 ],[0 ,0 ,1]])
[1 3 6]
# Python program showing advanced 
# and basic indexing
import numpy as np
 
a = np.array([[0 ,1 ,2],
              [3 ,4 ,5 ],
              [6 ,7 ,8],
              [9 ,10 ,11]])
 
print(a[1:2 ,1:3 ])
print(a[1:2 ,[1,2]])
[[4 5]]
[[4 5]]
# You may wish to select numbers greater than 50
import numpy as np
 
a = np.array([10, 40, 80, 50, 100])
print(a[a>50])
[ 80 100]
# You may wish to square the multiples of 40 
import numpy as np
 
a = np.array([10, 40, 80, 50, 100])
print(a[a%40==0]**2)
[1600 6400]
# You may wish to select those elements whose
# sum of row is a multiple of 10.
import numpy as np
 
b = np.array([[5, 5],
              [4, 5],
              [16, 4]])
sumrow = b.sum(-1)
print(b[sumrow%10==0])
[[ 5  5]
 [16  4]]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值