numpy-02-数组的索引
Posted 数学小学霸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy-02-数组的索引相关的知识,希望对你有一定的参考价值。
numpy-02-数组的索引
一.索引与切片
下标是从0开始的
1.1行操作
1.取行
print(t1[2])
结果
[ 3 467 465465 46546465467 2]
2.取连续多行
print(t2[2:])
3.取不连续多行
取多行,要有2个中括号
print(t2[[2,8,10]])
2.2列操作
1.取列
print(t2[,2])
2.取行与所有列
print(t2[2:,:])
3. 取连续多列
print(t2[:,2:])
4.取不连续多列
print(t2[:,[0,2]])
5.取特定行列的值
print(t2[2,3])
2.3数值修改
直接赋值就行
1.小于某个值就赋值(布尔索引)
# 小于某个值就赋值
t1<10
t1[t1<10]
结果
array([1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 7, 6, 8, 7, 9, 8, 9],
dtype=int64)
2.where三元表达式
就是小于10赋值0大于10赋值为10
1.二元if else 表示式
a = 3 if 3>2 else 4
print(a)
2.三元使用
# 小于10就赋值0,大于10就赋值10
np.where(t1<10,0,10)
结果
array([[ 0, 10, 10, 10, 0],
[ 0, 10, 10, 10, 0],
[ 0, 10, 10, 10, 0],
[ 0, 10, 10, 10, 0],
[ 0, 10, 10, 10, 0],
[ 0, 10, 10, 10, 0],
[ 0, 10, 10, 10, 0],
[ 0, 10, 10, 10, 0],
[ 0, 10, 10, 10, 0],
[10, 10, 10, 10, 0],
[10, 10, 10, 10, 10],
[10, 10, 10, 10, 10],
[10, 10, 10, 10, 10],
[10, 10, 10, 10, 10],
[10, 10, 10, 10, 10]])
3.clip裁剪
小于10就赋值10,大于18就赋值18
t.clip(10,18)
三.操作数组
3.1竖直拼接
np.vstack((t1,t2))
np.concatenate((t1,t2),axis = 0)
3.2水平拼接
np.hstack((t1,t2))
np.concatenate((t1,t2),axis = 1)
3.3行列交换
1.第二行与第三行交换?
就是取出再赋值
t[[1,2],:] = t[[2,1],:]
2.第一列与第三列交换
t[:,[0,2]] = t[:,[2,0]]
3.4构造全0或者全1数据
多少行与列
1.全0数据
zero_data = np.zeros((1,2))
结果
[[0. 0.]]
2.全1数据
ones_data = np.ones((2,3))
3.构造对角线为1的矩阵(eye数组)
np.eye(3)
3.5.copy与view产生的影响
1.a=b
完全不复制,a和b相互影响
2.a=b[:]
切片操作,会新建对象a,a的数据受b影响
3.a=b.copy()
复制,a和b相互不影响
3.6切割数组
1.横向切割
arrayA = np.arange(12).reshape(3, 4)
np.hsplit(arrayA,2)
# 或者
np.split(arrayA,2,axis = 1)
结果
[array([[0, 1],
[4, 5],
[8, 9]]),
array([[ 2, 3],
[ 6, 7],
[10, 11]])]
2.纵向切割
np.vsplit(arr,2)
# 或者
np.split(arrayA,2,axis = 0)
四.统计
4.1获取最值
1.最大值
t是对应哪个矩阵
np.argmax(t,axis=0)
2.最小值
np.argmin(t,axis=1)
4.2生成随机数
1.rand()
生成0~1的随机数
np.random.rand(2,3)
2.randn()
创建标准正太分布的随机数,平均值为0,标准差为1
np.random.randn(2,3)
3.randint(low,high,shape)
生成给定上下范围的随机整数
np.random.randint(21,24,(2,3))
4.seed()
给定种子后,可以生成相同的随机数
np.random.seed(10)
np.random.randint(21,29,(2,3))
4.3nan和inf
1.nan
not a number (非数)
2.inf
infinity (无穷)
以上是关于numpy-02-数组的索引的主要内容,如果未能解决你的问题,请参考以下文章
java.lang.IllegalStateException:键 f0 的片段不再存在:索引 1
solr分布式索引实战分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例
javascript UV Index Monitor App订阅PubNub并显示UV索引值。博文的代码片段。在这里查看项目:https:// githu