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 ##########   

求求三连。。。

  • 19
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
numpy是一款开源的科学计算工具,它为Python提供了快速、高效的数值计算功能。作为一个外置函数,numpy在进科学计算时提供了很大的便利。 首先,numpy提供了多维数组对象ndarray,它是numpy的核心数据结构。通过ndarray,我们可以方便地进各种数值计算,如基本的数学运算、统计分析、线性代数运算等。ndarray不仅具有高效的存储和操作性能,还可以通过广播机制实现数组之间的一对一运算,进一步提高计算效率。 其次,在科学计算中,我们经常需要处理大量的数据numpy提供了优化的向量化运算,可以有效地处理大规模数据,并且摆脱了Python原生表的循环操作,提高了运算速度。同时,numpy还提供了丰富的数学函数和随机数生成函数,方便了在科学计算中的各种数学操作和模拟实验。 另外,numpy也支持数据的读取和存储,可以方便地与其他文件格式进交互。比如,我们可以通过numpy数据存储为文本文件、二进制文件或者导出为其他数据格式。这对于科学研究中的数据处理和结果保存非常重要。 总之,numpy作为一款外置函数,为Python提供了强大的科学计算功能。它的多维数组对象和优化的向量化运算使得科学计算更加高效、便捷。同时,它丰富的数学函数和数据读取功能也为科学研究和数据处理提供了很大的帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值