numpy库及其具体应用

目录

切片索引

花式索引

randn函数

 maximum函数

灰度图

 unique


切片索引

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值