目录
切片索引
a=np.array([[1,2,3],[4,5,6]])
print(a[:,1:2])
在此代码中,我们首先创建了一个数组,再对这个数组进行切片,切片的时候,a[,]逗号前面的部分是行号,逗号后面的部分是列号,‘:’这个是从什么到什么的标志,1:2表示从1到2,并且不包含2,(左边包含右边不包含)
花式索引
b=np.empty((8,4),dtype=int)
for i in range (8):
b[i]=i+1
print(b[[4,3,0,6]])
print("----------------------------")
print(b[[5,2,6,4],[1,2,3,0]])
print("----------------------------")
print(b)
输出结果:
在这个代码里面,我们有一句话是“print(b[[4,3,0,6]])”,他表示,选择第4,3,0,6行,并且输出
如果是“print(b[[-4,-3,-6]])”,则表示从后向前取这些行
“print(b[[5,2,6,4],[1,2,3,0]])”表示选取(5,1),(2,2),(6,3),(4,0)这几个元素
若想要输出一行所有的内容,则需要这样做:
print(b[[5,2,6,4]][:,[0,1,2,3]])
randn函数
d=np.random.randn(8)
print(d)
得出8个随机数
maximum函数
d=np.random.randn(8)
e=np.random.randn(8)
print(np.maximum(d,e))
输出两个数组中间最大的数字
灰度图
灰度图在本段中的代码为:
plt.imshow(b,cmap='gray')
plt.colorbar()
plt.show()
其中,cmap='gray'代表画的是灰度图,但是,我发现画这个有一个先决条件,就是他需要行数等于列数,colorbar表示画上颜色示意图,具体的运行结果如图所示。
颜色可以变更,有以下选择
(具体参考网站:https://matplotlib.org/2.0.2/examples/color/colormaps_reference.html)
unique
该函数用于返回数组中唯一的元素,并返回有序对结果
print(np.unique(b))
例如,原本的一个数组为下列形式
执行指令后就变成了虚线以下的形式。
以上完整代码
import numpy as np
import matplotlib.pyplot as plt
a=np.array([[1,2,3],[4,5,6]])
#print(a)
#print(a[:,1:2])
#print(a)
#print(a.shape)
#print(a.dtype)
#print(a.ndim)
b=np.empty((8,8),dtype=int)
for i in range (8):
b[i]=i+1
#print(b[[4,3,0,6]])
#print("----------------------------")
print(b)
print("----------------------------")
#print(b)
c=np.arange(15)
#print(c)
#print(a==1)
d=np.random.randn(8)
e=np.random.randn(8)
#print(np.maximum(d,e))
points=np.arange(-5,5,0.01)
xs,ys=np.meshgrid(points,points)
z=np.sqrt(xs**2+ys**2)
#print(z.shape)
plt.imshow(z,cmap='Pastel2')
plt.colorbar()
#plt.show()
print(np.unique(b))
f=np.random.normal(size=(4,4))
plt.imshow(f,cmap='Pastel1')
plt.colorbar()
plt.show()
参考书籍:《利用Python进行数据分析》——Wes Mckiney