第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 ##########
求求三连。。。