正值索引:0 1 2 3 4 5
a数组: 【1,2,3,4,5,6】
复制索引:0 -5 -4 -3 -2 -1
import numpy as np
a=np.array([1,2,3,4,5,6])
print('正值索引第五个元素:',a[4])
print('负值索引倒数第二个元素:',a[-2])
正值索引第五个元素: 5
负值索引倒数第二个元素: 5
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a)
print('正值索引为:',a[1][2])
'6号元素正值索引为[1][2]'
print('负值索引为:',a[-2][-1])
'6号元素负值索引为:[-2][-1]'
正值索引为: 6
负值索引为: 6
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a)
print('正值索引:',a[1,2])
print('负值索引:',a[-2,-1])
[[1 2 3]
[4 5 6]
[7 8 9]]
正值索引: 6
负值索引: 6
1.[start:end]————start是开始索引的位置,end是结束索引前一个元素的位置(不包含end位置上的元素),由开始到结束直接切片下来。
2.[start:end:step]——start是开始索引的位置,end是结束索引前一个元素的位置(不包含end位置上的元素),step为步长,不尝试切片是获取元素的间隙。步长可以选择正整数也可以选择负整数。
import numpy as np
a=np.array([1,2,3,4,5,6,7,8,9,10])
print('选取的第3号到第六号元素为:',a[3:6])
选取的第3号到第六号元素为: [4 5 6]————下角标为6号的元素为7,但是不包含end位置的元素故最后一位为a[end-1](6)
import numpy as np
a=np.array([1,2,3,4,5,6,7,8,9,10])
print('选取2到8位的元素,步长为2的元素为::',a[2:8:2])
选取2到8位的元素,步长为2的元素为:: [3 5 7]
np.array[所在0轴上的切片,所在1轴上的切片]
0 1 2 3 4
0[ 1 2 3 4 5]
1[ 6 7 8 9 10]
2[11 12 13 14 15]
3[16 17 18 19 20]
4[21 22 23 24 25]
import numpy as np
a=np.array([[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]])
print(a[1:5,1:4])
[[ 7 8 9]
[12 13 14]
[17 18 19]
[22 23 24]]
import numpy as np
a=np.array([[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]])
print(a[2,2:4])
print(a)
[13 14]
import numpy as np
a=np.array([1,2,3,4,5,6])
b=np.array([True,True,False,True,False,True])
print(a[b])
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
b=np.array([[True,False,True],[False,False,False],[True,False,False]])
print(a[b])
[1 3 7]
[1,2,3] [1,2,3]
[4,5,6]+[10,11,12]———————— [4,5,6]
[7,8,9] [7,8,9]
[10,11,12]
[1,2,3] [10 [1,2,3,10]
[4,5,6]+ 11———————— [4,5,6,11]
[7,8,9] 12] [7,8,9,12]
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
b=np.array([[10,11,12]])
ab=np.concatenate((a,b))
print(ab)
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]]
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
b=np.array([[10,11,12]]).T//转置
ab=np.concatenate((a,b),axis=1)
print(ab)
[[ 1 2 3 10]
[ 4 5 6 11]
[ 7 8 9 12]]
import numpy as np
a=np.array([[1,2],[3,4]])
print(a)
b=np.array([[5,6]]).T
c=np.concatenate([a,b],axis=1)
print(c)
d=np.hstack([a,b])
print(d)
[[1 2]
[3 4]]
[[1 2 5]
[3 4 6]]
[[1 2 5]
[3 4 6]]
import numpy as np
a=np.array([[1,2],[3,4]])
print(a)
b=np.array([[5,6]])
c=np.concatenate([a,b],axis=0)
print(c)
d=np.vstack([a,b])
print(d)
[[1 2]
[3 4]]
[[1 2]
[3 4]
[5 6]]
[[1 2]
[3 4]
[5 6]]
属性 | 标注 |
---|---|
ary | 指定所属数组 |
indices_or_sections | 对应的数组或者整数,如果整数就用该数平均分割数组,如果数组就按照指定轴做切片处理 |
axis | 轴的分割方向 |
import numpy as np
a=np.array([1,2,3,4,5,6,7,8,9])
print(np.split(a,3))
[array([1, 2, 3]), array([4, 5, 6]), array([7, 8, 9])]
1.修改axis参数
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
b=np.split(a,3,axis=1)
print(b)
[array([[1],
[4],
[7]]), array([[2],
[5],
[8]]), array([[3],
[6],
[9]])]
2.使用hsplit()
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
b=np.hsplit(a,3)
print(b)
[array([[1],
[4],
[7]]), array([[2],
[5],
[8]]), array([[3],
[6],
[9]])]
1.修改axis参数
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
b=np.split(a,3,axis=0)
print(b)
[array([[1, 2, 3]]), array([[4, 5, 6]]), array([[7, 8, 9]])]
2.使用vsplit()
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
b=np.vsplit(a,3)
print(b)
[array([[1, 2, 3]]), array([[4, 5, 6]]), array([[7, 8, 9]])]
import numpy as np
a=np.array([1,2,3,4,5,6,7,8,9])
b=np.split(a,[4,6])
print(b)
[array([1, 2, 3, 4]), array([5, 6]), array([7, 8, 9])]
a=[1,2,3,4] b=[2,3,4,5] a+b=[3,5,7,9]
a=[1,2] b=[2,3] a+b=[3,5]
[3,4] [4,5] [7,9]
import numpy as np
a=np.array([1,2,3,4,5])
b=np.array([2,4,6,8,10])
print(a+b)
[ 3 6 9 12 15]
import numpy as np
a=np.array([[1,2,3],[6,7,8]])
b=np.random.rand(2,3)
print('b的数组为:',b)
print(a+b)
b的数组为: [[0.39952873 0.62792605 0.63734903]
[0.80093729 0.51350318 0.33915585]]
[[1.39952873 2.62792605 3.63734903]
[6.80093729 7.51350318 8.33915585]]
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
b=a+10
print(b)
[[11 12 13]
[14 15 16]
[17 18 19]]
a=[1,2,3] b=[1,3,5] a*b=[1,6,15]
[4,5,6] [2,4,6] [8,20,36]
[7,8,9] [3,4,5] [21,32,45]
import numpy as np
a=np.array([1,2,3,4])
b=np.array([2,3,4,5])
print(a*b)
[ 2 6 12 20]
import numpy as np
a=np.array([1,2,3,4])
b=np.array([2,3,4,5])
print(a*3)
print(b*5)
[ 3 6 9 12]
[10 15 20 25]
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
b=np.array([[1,2,3],[2,4,6],[3,6,9]])
print(a*b)
[[ 1 4 9]
[ 8 20 36]
[21 48 81]]
import numpy as np
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a**2)
[[ 1 4 9]
[16 25 36]
[49 64 81]]
eg;
a=[1,2,3,4] a+10=[1,2,3,4]+[10,10,10,10]=[11,12,13,14]
a*10=[1,2,3,4]*[10,10,10,10]=[10,20,30,40]
eg:
a=[1,2] a+10= [1,2] + [10,10] = [11,12]
[3,4] [3,4] [10,10] [13,14]