大数据技术(第2节实验课-----Numpy的使用)

一、数据分析统计

对花萼长度数据统计分析

例子

#注意:中文分号和英文分号的区别,容易导致语句出错
import numpy as np
iris_sepal_length =np.loadtxt("e:\iris_sepal_length.csv",delimiter=",")#读取文件数据的方法
iris_sepal_length.sort()#对文件排序
print("排序后的花萼长度表为:",iris_sepal_length)#展示排序后的矩阵
print("去重后的花萼长度表为:",np.unique(iris_sepal_length))#去重
print("花萼长度表的总和为:",np.sum(iris_sepal_length))#求和
print("花萼长度表为:",iris_sepal_length)#展示矩阵
print("花萼长度表的均值为:",np.mean(iris_sepal_length))#平均值
print("花萼长度表的标准差为:",np.std(iris_sepal_length))#标准差
print("花萼长度表的方差为:",np.var(iris_sepal_length))#方差
print("花萼长度表的最小值为:",np.min(iris_sepal_length))#最小值
print("花萼长度表的最大值为:",np.max(iris_sepal_length))#最大值

习题
花萼长度的标准差10000取整的平方
加上花萼长度的平均数
10000取整的平方
加上花萼长度的方差的平方10000取整的平方
加上花萼长度的最小值
100取整的三次方
加上花萼长度的最大值*100取整的三次方
最后加上学号的五次方

import numpy as np
a=int(np.std(iris_sepal_length)*10000)**2
b=int(np.mean(iris_sepal_length)*10000)**2
c=int(np.var(iris_sepal_length)**2*10000)**2
d=int(np.min(iris_sepal_length)*100)**3
e=int(np.max(iris_sepal_length)*100)**3
f=1750300142**5
print("a+b+c+d+e+f")

二、数组的计算

实训1:创建 数组并进行运算

1.实现思路及步骤
(1)创建一个数值范围为0- 1,间隔为0.01的数组。
(2)创建100个服从正态分布的随机数。
(3)对创建的两个数组进行四则运算。
(4)对创建的随机数组进行简单的统计分析。

import numpy as np
x=np.arange(0,1,0.01)  #np.arrange()函数,将间隔调为0.01
y=np.random.randn(100) #产生随机分布的100个数
print("x和y相加的结果为:")
print(x+y)
print("x和y相加的结果为:")
print(x-y)
print("x和y相加的结果为:")
print(x*y)
print("x和y相加的结果为:")
print(x/y)
print("创建的随机数组和为")
print(np.sum(y))
print("创建的随机数组最大值为")
print(np.max(y))
print("创建的随机数组最小值为")
print(np.min(y))
print("创建的随机数组平均值为")
print(np.mean(y))
print("创建的随机数组方差为")
print(np.var(y))
print("创建的随机数组标准差为")
print(np.std(y))

三、Numpy索引的使用

实训2:创建一个国际 象棋的棋盘

1.需求说明
创建国际象棋棋盘,填充8x8矩阵。国际象棋棋盘是个正方形,由横纵向各8格、颜
色一深一浅交错排列的64个小方格组成,深色格为黑格,浅色格为白格,棋子就在这些格
子中移动,如图2-3 所示。
图2-3国际象棋棋盘
在这里插入图片描述
2.实现思路及步骤
前提:0表示白格子,1表示黑格子
(1)创建一个8x8矩阵。
(2)将所有的矩阵填入0
(3)把黑方框处全部变成1

#习题3
import numpy as np  
x=np.linspace(0,0,64).reshape(8,8) #创建一个0到0的64等分矩阵,然后用reshape转换为二维矩阵
for i in range(0,4):
    x[(0,2,4,6),2*i]=1    #((0,2,4,6)表示第0,2,4,6行都会取到  
for j in range(0,4):      
    x[2*j+1,(1,3,5,7)]=1  #(1,3,5,7)表示第0,2,4,6列都会取到  
print("棋盘为:")
print(x)

在这里插入图片描述

四、矩阵的计算

习题

求矩阵a1和a2相乘后的矩阵各项和a3,再加上学号平方的和
a1=[[1,2,1,5],[2,33,21,12],[21,22,11,29],[10,21,23,12]]
a2=[100,200,500,400],[400,493,389,213],[9021,9871,1234,6789],[1021,2982,1981,1]]

import numpy as np
a1=np.matrix([[100,200,500,400],[400,493,389,213],[9021,9871,1234,6789],[1021,2982,1981,1]])
a2=np.matrix([[1,2,1,5],[2,33,21,12],[21,22,11,29],[10,21,23,12]])
a3=a1*a2
x=1750300142**2
print(a3.sum()+x)#矩阵自带sum()方法,可以直接求和

五、 注意区别数组的矩阵计算的区别

1. 加减法两者计算效果相同

2. 乘除法两者计算效果相同

import numpy as np
a1=np.array([[1,2],[1,2]])
a2=np.array([[1,2],[1,2]])
a3=np.matrix([[1,2],[1,2]])
a4=np.matrix([[1,2],[1,2]])
print("数组乘法")
print(a1*a2)
print("矩阵乘法")
print(a3*a4)

在这里插入图片描述

数组乘法计算:对应位置相乘(除法同理)

在这里插入图片描述

矩阵的计算:行列相乘

在这里插入图片描述

补充:矩阵没有除法(m1表示矩阵的话,m1.I表示逆矩阵)
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值