NumPy数组(3)-- 获取多维数组中单个数组值和数组的分片

一、获取单个数组值和数组的分片实例

#NumPy数组--获取单个数组值和数组的分片
from numpy import *

#列表分片:开始索引,结束索引,步长(左闭右开)
list = [1,2,3,4,5,6]
print(list[1:4])
print(list[1::2])
print("*****************************")

a = array([[1,2,3],[4,5,6],[7,8,9]])
print(a)          #输出整个数组
print(a[0,0])     #输出数组a中第一行第一列的元素
print("a[0,1] = {},a[2,1] = {}".format(a[0,1],a[2,1]))
print("*****************************")

#数组分片
print(a[0:1])     #获取二维数组中的第一行数据,还是一个二维数组。 输出结果:[[1 2 3]]
print(a[0:1][0])  #获取二维数组中的第一行数据,输出一维数组。 输出结果:[1 2 3]
print("----------")
print(a[0:2])     #获取二维数组中的第前两行行数据
print(a[0:2][1])  #获取二维数组中的第二行数据,输出一维数组。 输出结果:[4 5 6]
print("----------")

b = a[0:]          #b和a是同一个数组
print(b)

#b[0,0] = 100   #修改后,第一个值变为100
#print(a)
print("*****************************")

print(a[0::2])
print("----------")
print(a[1:10])      #如果索引越界,则相当于省略索引a[1:]
print("----------")
print(a[-3:-1])
print("*****************************")

#[1,2] * [5,6] + [7,8]
x = a[0:1,0:2]   #第一行的前面两个元素
y = a[1:2,1:]    #第二行的后面两个元素
z = a[2:,0:2]    #第三行的前面两个元素
print(x)
print(y)
print(z)
print(x*y+z)


输出结果:

[2, 3, 4]
[2, 4, 6]
*****************************
[[1 2 3]
 [4 5 6]
 [7 8 9]]
1
a[0,1] = 2,a[2,1] = 8
*****************************
[[1 2 3]]
[1 2 3]
----------
[[1 2 3]
 [4 5 6]]
[4 5 6]
----------
[[1 2 3]
 [4 5 6]
 [7 8 9]]
*****************************
[[1 2 3]
 [7 8 9]]
----------
[[4 5 6]
 [7 8 9]]
----------
[[1 2 3]
 [4 5 6]]
*****************************
[[1 2]]
[[5 6]]
[[7 8]]
[[12 20]]


猜你喜欢

转载自blog.csdn.net/zhubao124/article/details/80601521
今日推荐