【大数据处理与可视化】二 、Numpy科学计算库


实验目的

  1. 使用Numpy库创建数组对象。
  2. 对创建的数组对象进行访问、运算、操作、转置。
  3. 能够熟练运用Numpy的通用函数好数组进行数据处理
  4. 能够熟练运用线性代数模块和随机数模块

实验内容

1、创建一个值域范围从10到49的向量。
2、创建一个 3x3 并且值从0到8的矩阵。
3、创建一个 3x3 的单位矩阵。
4、创建一个数组,数组的shape为(5,0),元素都是0。
5、创建一个表示国际象棋棋盘的8*8数组,其中,棋盘白格用0填充,棋盘黑格用1填充。
6.、创建一个二维数组,其中边界值为1,其余值为0
7、平面上有100个点,求任意两点间的欧式距离,并将其保存;提示: n=100

For i in range(n):
X[i] = i
(xi,yi) (xj,yj)
Dist[i][j]**2= (xi-xj)**2 + (yi-yj)**2

8、创建一个长度为10的向量,并将向量中最大值替换为1
9、分别创建一个5x3的矩阵和一个3x2的矩阵,然后使5x3的矩阵乘以3x2的矩阵,并输出结果。


实验步骤

1、创建一个值域范围从10到49的向量。

思路: 调用numpy库中arange(开始索引,终止索引) 方法进行创建。
代码: data1 = np.arange(10,50)
截图:
在这里插入图片描述


2、创建一个 3x3 并且值从0到8的矩阵。

思路: arange(开始索引,终止索引) ,开始索引为0 可以省略不写。结合reshape()方法定义维数。
代码: data2 = np.arange(9).reshape(3,3)
截图:
在这里插入图片描述


3、创建一个 3x3 的单位矩阵。

思路: 单位矩阵元素值全为1,调用numpy库中ones(行数,列数)方法。
代码: data3 = np.ones((3,3))
截图:

在这里插入图片描述


4、创建一个数组,数组的shape为(5,0),元素都是0。

思路: 矩阵元素值全为0,调用numpy库中zeros(行数,列数)方法。
代码: data4 = np.zeros((5,0))
截图:
在这里插入图片描述


5、创建一个表示国际象棋棋盘的8*8数组,其中,棋盘白格用0填充,棋盘黑格用1填充。

思路: 此矩阵每隔一行元素值相同,只需对两行的相邻位置进行赋值,用步长对其他元素赋值。
代码:

data5 = np.arange(64).reshape(8,8)
data5[::2,::2] = data5[1::2,1::2] = 0
data5[::2,1::2] = data5[1::2,::2] = 1

截图:

在这里插入图片描述


6、创建一个二维数组,其中边界值为1,其余值为0。

思路: 创建一个二维数组,其中边界值为1,其余值为0。
代码:

arr = np.ones((10,10))
arr[1:-1,1:-1] = 0
arr.astype(np.int32)

截图:

在这里插入图片描述


7、平面上有100个点,求任意两点间的欧式距离,并将其保存。

思路: 随机生成二维数组,用欧拉公式计算两点间距离。
代码:

x=y=np.linspace(0,100,100)
dis=np.zeros([100,100])
for i in range(100):
    for j in range(100):
        dis[j,i]=((x[j]-x[i])**2+(y[j]-y[i])**2)**0.5
dis 

截图:

在这里插入图片描述


8、创建一个长度为10的向量,并将向量中最大值替换为1。

思路: 在数组中用arr.argmax()找出最大值的索引,进行改值。
代码:

arr = np.array([5,10,9,6,3,5,4,8,6,2])
arr.max()
arr[arr.argmax()] = 1
arr

截图:

在这里插入图片描述


9、分别创建一个5x3的矩阵和一个3x2的矩阵,然后使5x3的矩阵乘以3x2的矩阵,并输出结果。

思路: 生成矩阵后用 np.dot()方法进行运算。
代码:

arr1 = np.arange(15).reshape(5,3)
arr2 = np.arange(6).reshape(3,2)
arr = np.dot(arr1,arr2)
arr

截图:

在这里插入图片描述


实验小结

       通过本次实验,我了解了数组的创建以及相关方法的使用,对数组的索引和切片有了一定的掌握。在实验过程中遇到了很多硬件或者是软件上的问题,请教老师,询问同学,上网查资料,都是解决这些问题的途径。最终将遇到的问题一一解决最终完成实验。
注意事项:
1、有疑问前,知识学习前,先用搜索。
2、熟读写基础知识,学得会不如学得牢。
3、选择交流平台,如QQ群,网站论坛等。
4、尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慢热型网友.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值