读取本地数据
axis(轴)
二维和一维数组中,axis=0是横轴,axis=1是列。
三维则比较特殊。
表示数据的维度方向。
loadtxt()
unpack如果为True,则会把容器中的元素进行转置。
transpose(),T,swapaxes(1,0)都可以使数组转置。
索引和切片
对于一个数组t来说,
取行
取第k+1行的元素
print(t[k])
取连续行的元素
print(t[k:])
比单取一行多一个冒号。
表示取从第k+1行开始及后面所有行的元素。
取不连续行的元素
print(t[[2,4,6,k]])
t[]里面还有一个[],否则报错。
表示取第3,5,7+1行的元素
取列
取第k+1列则
print(t[:,k])
取连续的k列之后(包括k列)
print(t[:,k:])
注:在有冒号的算式里,表示区间[x,y),即左闭右开的形式。
取不连续的k列
print(:,[0,2,k])
注意要加中括号。
表示取第一,三,k+1列的元素。
行列
单行单列:
t[2,3]
表示第三行第四列的元素。
多行多列:
t[2:5,1:4]
表示取第三行至第五行,第二列到第四列的所有元素,即行列交叉点的位置。
多个不相邻的点:
t[[0,2],[0,1]]
多个括号
表示取[0,0],[2,1]的元素,即取实际位置上的(1,1),(3,2)的元素。
以此类推,可以取第三、第四等元素的值。
赋值
对上述的切片赋值,则切片所覆盖的范围都为目标值。
t[:,2:4]=0
表示第三、四列的值都为0。
t[t<10]=0
表示t中所有小于10的元素都变成0。
where()【三元运算符】
where(t<10,0,10)
表示所有小于10的元素赋值为0,其他元素赋值为10。
clip()【裁切】
clip(x,y)
表示小于x都赋值成x,大于y的都赋值为y,在x和y之间的数值不变。