代码示例:
import numpy as np
#数据类型操作相关
my_np1 = np.array([[1,2,3,4],[5,6,7,8]],dtype=np.int32)
print(my_np1.itemsize) #返回数组中每个元素的字节单位长度,打印4
print(my_np1.dtype) # 获取数据类型,打印int32
my_np1_new = my_np1.astype(np.float) #更改数据类型
print(my_np1_new.dtype) #打印float64
#一维数组切片
my_np2 = np.arange(18)
#冒号分隔切片参数 start:stop:step 来进行切片操作。
print(my_np2[1:10:2]) #打印[1 3 5 7 9]
#如果只放置一个参数,将返回与该索引相对应的单个元素,支持负数索引
print(my_np2[16]) #打印16
#多维数组切片
my_np3 = np.arange(18).reshape(3,6)
#取一行
print(my_np3[1]) #取一行,打印[ 6 7 8 9 10 11]
print(my_np3[1,]) #取一行,打印[ 6 7 8 9 10 11]
print(my_np3[1,:]) #取一行,打印[ 6 7 8 9 10 11]
#取连续多行
print(my_np3[1:])
'''
取连续的多行,打印:
[[ 6 7 8 9 10 11]
[12 13 14 15 16 17]]
'''
print(my_np3[1:3,:]) #取连续的多行
'''
取连续的多行,打印:
[[ 6 7 8 9 10 11]
[12 13 14 15 16 17]]
'''
#取不连续多行
print(my_np3[[0,2]])
'''
取不连续的多行
[[ 0 1 2 3 4 5]
[12 13 14 15 16 17]]
'''
print(my_np3[[0,2],:])
'''
取不连续的多行
[[ 0 1 2 3 4 5]
[12 13 14 15 16 17]]
'''
#取列
print(my_np3[:,1])# 取一列,打印[ 1 7 13]
print(my_np3[:,1:])
'''
连续的多列,打印:
[[ 1 2 3 4 5]
[ 7 8 9 10 11]
[13 14 15 16 17]]
'''
print(my_np3[:,[0,2]])
'''
取不连续的多列
[[ 0 2]
[ 6 8]
[12 14]]
'''
print(my_np3[1,2])# 取某一个值,二行三列,打印8
print(my_np3[[0,1,1],[0,1,2]])# 取多个不连续的值,[[行,行。。。],[列,列。。。]],打印[0 7 8]