栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python-数据思维-6.2Numpy科学计算应用1

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python-数据思维-6.2Numpy科学计算应用1

第1关:创建numpy数组

本关任务:按要求生成numpy数组: 1 使用numpy的linspace函数,创建初值为1,终止为5,元素个数为20的等差数组 2 将数组B变换成2行5列的二维数组 3 随机数种子为7,生成4行3列的随机数数组,值在[0,1)之间 4 随机数种子为11,生成3行4列的正态分布随机数数组,期望值为5,标准差为2 5 将数组D的内容写入文本文件,使用英文分号为分隔符,浮点数精确到小数点后5位,文件名为1.txt 6 使用斐波那契数列(1,1,2,3,5,...)生成一个5行4列的numpy数组,数组名为E

import numpy as np
#1 使用numpy的linspace函数,创建初值为1,终止为5,元素个数为20的等差数组
########## begin ##########
# 请在此填写代码
A=np.linspace(1,5,20)
########## end ##########   

#2 将数组B变换成2行5列的二维数组
B=np.arange(0,20,2)
# 请在此填写代码
B=B.reshape(2,5)
########## end ##########   

#3 随机数种子为7,生成4行3列的随机数数组,值在[0,1)之间
np.random.seed(7)
# 请在此填写代码
C=np.random.rand(4,3)

########## end ##########   

#4 随机数种子为11,生成3行4列的正态分布随机数数组,期望值为5,标准差为2
np.random.seed(7)
# 请在此填写代码
D=np.random.normal(5,2,(3,4)) 
########## end ##########   

#5 将数组D的内容写入文本文件,使用英文分号为分隔符,浮点数精确到小数点后5位,文件名为1.txt
# 请在此填写代码
np.savetxt('1.txt',D,fmt='%0.5f',delimiter=';')
########## end ##########   

#6 使用斐波那契数列(1,1,2,3,5,...)生成一个5行4列的numpy数组,数组名为E
# 请在此填写代码
x=[]
i=0
a=1
b=1
while i<20:
    x.append(a)
    a,b=b,a+b
    i+=1
E=np.array(x)
E=E.reshape(5,4)
########## end ##########   
第2关:访问数组元素

本关任务:按要求对numpy数组进行索引。

import numpy as np
#注意,以下对行号和列号的描述都从0开始,例如,最开始的行是第0行
def func1(arr):
    ########## begin ##########
    # 请在此填写代码,返回数组arr的第0行、最后一列的元素值
   return(arr[0,-1])
    ########## end ##########   
    
def func2(arr):
    ########## begin ##########
    # 请在此填写代码,对数组arr,去掉前面2行,并依次选取第2,0,1列,最后返回索引结果
    return(arr[2:,[2,0,1]])
    ########## end ##########   

def func3(arr):
    ########## begin ##########
    # 请在此填写代码,对数组arr, 依次选取第2,0行,并去掉最后一列,最后返回索引结果
    return(arr[[2,0],:-1])
    ########## end ##########   

def func4(arr):
    ########## begin ##########
    # 请在此填写代码,将数组arr中的偶数替换成原数的平方,函数无返回值 
    arr[arr%2==0]=arr[arr%2==0]**2
    ########## end ##########
第3关:numpy基本运算

本关任务:按要求使用numpy的运算功能进行运算。

import numpy as np
#注意,以下对行号和列号的描述都从0开始,例如,最开始的行是第0行
def func1(arr1, arr2):
    ########## begin ##########
    # 请在此填写代码,计算矩阵arr1和arr2的点乘,其中arr1的列数和arr2的行数相同
    return(arr1.dot(arr2))
    ########## end ##########   
    
    
def func2(arr1,arr2):
    ########## begin ##########
    # 请在此填写代码,计算矩阵arr1和arr2的星乘,其中arr1和arr2的形状相同 
    return(arr1*arr2)
    ########## end ##########   

def func3(arr):
    ########## begin ##########
    # 请在此填写代码,对数组arr, 计算并返回所有元素的最大值
    return(np.max(arr))
    ########## end ##########   

def func4(arr):
    ########## begin ##########
    # 请在此填写代码,对数组arr, 计算每一列的最小值,以数组的形式返回
    return(np.min(arr,axis=0))
    ########## end ##########   

def func5(arr):
    ########## begin ##########
    # 请在此填写代码,对数组arr, 计算每个元素的正弦函数结果,以新的数组形式返回
    return(np.sin(arr))
    ########## end ##########   
第4关:pandas基本操作

本关任务:编写完成一个函数,其参数是一个excel文件名,该excel文件拥有5列:日期、开盘、最高、最低、收盘,文件的第一行是列名。使用pandas读入这个文件,并使用pandas的索引功能,返回开盘、最低2列,且收盘价低于2700的行。

import pandas as pd
#注意,以下对行号和列号的描述都从0开始,例如,最开始的行是第0行
def func1(file_name):
    ########## begin ##########
    # 请在此填写代码,读取excel文件,返回开盘、最低2列,且收盘价低于2700的行
    data=pd.read_excel(file_name)
    return(data.loc[data.收盘<2700,['开盘','最低']])
    ########## end ##########   

求求三连。。。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/675165.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号