项目

内容

课程班级博客链接


这个作业要求链接

/homework/12540

博客名称

2003031119——李勇——Python数据分析第三周作业—numpy的简单操作

要求

每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果)

 

 

 

 

 

 

题目一:扩展阅读心得体会

Python 中的pip,numpy,matplotlib 安装使用心得

在度娘里搜索查看了大半天,后来安装成功,并可在Pycharm 中import numpy 即import matplotlib 资源库。主要做法如下:

1.电脑联网

2.进入cmd ,进入python

3.pip install wheel

4.pip install numpy

5.pip install matplotlib

至此,以上三个资源库已全部安装完毕,在电脑联网时,无需下载以上三个资源库,输入pip 命令后,电脑自动在官网搜索下载安装与你python 匹配的资源库。此时安装完成后,在cmd 命令行试验下是否能够import ,可以用一下代码试验: 不进入python,就在cmd 安装

2.扩展阅读:Numpy常用方法

简单来说,Numpy是python的一个科学计数包,包含了多维数组的操作。Numpy的核心是ndarray对象,这个对象封装了同质数据类型的n维数组。

1、Numpy.linspace() 方法
Numpy.linspace(start,stop,num=50,endpoint=True,restep=False,dtype=None)
功能:返回在规定范域内的数值列表
参数:
start:规定区域的开始值
stop:规定区域的结束值
num:产生样本点的的数目
endpoint:如果设置为True,那么stop参数将产生影响
dtype:输出数值的类型

例子:
import numpy as np
np.linspace(2.0, 3.0, num=5)
array([ 2. , 2.25, 2.5 , 2.75, 3. ])
2、Numpy.arange()方法
Numpy.arange([start,]stop,[step]dtype=None)
功能:在给定的范围内,返回一数组
参数:
Start:数值范围的起始点(该范围包括该值)
Stop:数值范围的结束值(该范围不包括该值)
Step:单位位移值
dtype:输出数组的类型
例子:

import numpy as np
np.arange(3)
array([0, 1, 2])
3、umpy.random.rand()方法

numpy.random.rand(d0,d1,…,dn)
功能:生成一个参数格式类型的数组
参数:
d0,d1,…,dn:返回一个参数类型的维度
例子:

import numpy as np
np.random.rand(3,2)
array([[ 0.14022471, 0.96360618], #random
[ 0.37601032, 0.25528411], #random
[ 0.49313049, 0.94909878]]) #random
4、Numpy.random.randn()方法

Numpy.random.randn(d0,d1,…,dn)
功能:该函数将产生一个形如(d0,d1,…,dn)格式类型形式的样本,或者样本集,该样本或者样本集服从正太分布(高斯分布)。如果传入参数是元组类型,可用numpy.random.standard_normal代替
参数:
d0,d1,…,dn:该参数为我们要返回数组类型的格式,如果没有输入参数,Python则返回单个浮点值
例子:

import numpy as np
2.5 * np.random.randn(2, 4) + 3
array([[-4.49401501, 4.00950034, -1.81814867, 7.29718677], #random
[ 0.39924804, 4.68456316, 4.99394529, 4.84057254]]) #random
5、Numpy.fromfunction()方法

Numpy.fromfunction(function,shape,**Kwargs)
功能:通过方法的执行结果,从而来构造一个特定的数组格式
参数:
Function:该函数可以被N个参数所调用,该N个参数类型格式被shape所决定
Shape:该参数决定输出数组类型的维度,也决定function该参数的输入格式
例子:

import numpy as np
np.fromfunction(lambda i, j: i == j, (3, 3), dtype=int)
array([[ True, False, False],
[False, True, False],
[False, False, True]])

6、numpy.ndarray.flatten

该函数返回折叠为一维的数组副本

例子:

import numpy as np 
a = np.arange(8).reshape(2,4) 
 
print '原数组:' 
print a 
print '\n'  
# default is column-major 
 
print '展开的数组:' 
print a.flatten() 
print '\n'  
 
print '以 F 风格顺序展开的数组:' 
print a.flatten(order = 'F')


原数组:
[[0 1 2 3]
 [4 5 6 7]]
 
展开的数组:
[0 1 2 3 4 5 6 7]
 
以 F 风格顺序展开的数组:
[0 4 1 5 2 6 3 7]
7、numpy.zeros

返回特定大小,以 0 填充的新数组。

例子:

# 含有 5 个 0 的数组,默认类型为 float  
import numpy as np 
x = np.zeros(5)  
print x


[ 0.  0.  0.  0.  0.]
8、numpy.asarray

此函数类似于numpy.array,除了它有较少的参数。 这个例程对于将 Python 序列转换为ndarray非常有用。

# 将列表转换为 ndarray 
import numpy as np 
 
x =  [1,2,3] 
a = np.asarray(x)  
print a

[1  2  3] 
 
9、ndarray对象的内容可以通过索引或切片来访问和修改,就像 Python 的内置容器对象一样。



import numpy as np
a = np.arange(10)
s = slice(2,7,2)  
print a[s]

[2  4  6]

题目二

实训一:

1.训练要点

(1)掌握Nuympy的数组的创建及随机数的生成。

(2)掌握Nuympy中用于统计分析的基本运算函数。

2.需求说明

Numpy数组在数值运算方面的效率优于python提供的list,所以灵活掌握numpy中数组的创建以及基础的运算是有必要的。

3.实现思路及步骤

(1)创建一个数值范围为0~1,间隔为0.01的数组。

(2)创建100个服从正态分布的随机数。

(3)对创建的两个数组进行四则运算。

(4)对创建的随机数组进行简单的统计分析。

4.运行代码和截图

import numpy as np
#1、创建一个数值范围为0~1,间隔为0.01的数组
arr1=np.arange(0,1,0.01)
print("arange函数创建的数值范围为0~1间隔为0.01的数组arr1为:\n",arr1)
#2、创建由100个服从正态分布的随机数构成的数组
arr2=np.random.randn(100)
print('生成的随机数组arr2为:\n',arr2)
#3、对创建的两个数组进行四则运算
print('arr1 + arr2:\n',arr1+arr2)
print('arrl-arr2:\n',arr1-arr2)
print('arrl*arr2:\n',arr1*arr2)
print('arrl/arr2:\n',arr1/arr2)
#print('arrl**arr2:\n',arr1**arr2)
#4、对创建的数组进行简单的统计分析
print('正态分布数数组的累计和为:\n',np.cumsum(arr2))#计算所有元素的累计和
print('正态分布数去重后的值组为:\n',np.unique(arr2))#去除重复值
print('正态分布数组的均值为:',np.mean(arr2))#计算数组均值
print('正态分布数组的标准差为:',np.std(arr2))#计算数组标准差
print('正态分布数组的方差为:',np.var(arr2))#计算数组方差
print('正态分布数组的最小值为:',np.min(arr2))#计算最小值
print('正态分布数组的最大值为:',np.max(arr2))#计算最大值
print('正态分布数组的总和为:',np.sum(arr2))#计算数组总和

python 解析 nmon数据_正态分布

实训二

1.训练要点

(1)掌握矩阵创建方法。
(2)掌握数组索引的方法。
2.需求说明
创建国际象棋棋盘,填充8x8矩阵。国际象棋棋盘是个正方形,由横纵向8格、颜色一深一浅交错排列的64个小方格组成,深色格为黑格,浅色格为白格,棋子就在这些格子中移动,如图2-3所示。

python 解析 nmon数据_python_02

 3.实验思路及步骤

(1)创建一个8×8矩阵。

(2)把1、3、5、7行和2、4、6列的元素设置为1。

4.运行代码和截图

import numpy as np
matr1=np.ones((8,8))
for i in range(8):
    for j in range(8):
        if(i+j)%2==0:
            matr1[i,j]=0
print('国际棋盘对应的矩阵为:\n',matr1)

for i in range(0,8):
    for j in range(0,8):
        if matr1[i,j]==0:
            print("□",end=' ')
        else:
            print("■", end=' ')
    print('\n')

python 解析 nmon数据_python_03