Numpy数值计算Numpy 进阶在线闯关

您所在的位置:网站首页 花式索引与布尔索引 Numpy数值计算Numpy 进阶在线闯关

Numpy数值计算Numpy 进阶在线闯关

2024-07-10 10:17| 来源: 网络整理| 查看: 265

Numpy数值计算进阶 第1关 Numpy 广播第2关 Numpy 高级索引第3关 Numpy 迭代数组

第1关 Numpy 广播

任务描述 本关任务:给定两个不同形状的数组,求出他们的和。

编程要求 首先用 arange() 生成一个数组,然后用 reshape() 方法,将数组切换成 4x3 的形状,最后再与 basearray 相加,输出它们的和。 请按照编程要求,补全右侧编辑器 Begin-End 内的代码。 测试说明 平台会对你编写的代码进行测试: 测试输入: 12; 预期输出: [[ 1 3 5] [ 4 6 8] [ 7 9 11] [10 12 14]] 开始你的任务吧,祝你成功!

import numpy as np basearray = eval(input()) # *********** Begin ************ # arr=np.arange(12).reshape(4,3) # ************ End ************* # print("{} + \n{}".format(arr,basearray)) print("结果为:\n{}".format(basearray+arr)) 第2关 Numpy 高级索引

任务描述 本关任务:给定一个二维数组,请以整数数组索引、布尔索引、花式索引三种方式,来获取我们需要的数组元素。

编程要求 首先,利用花式索引获取 arr 数组第 line 行(至少两行)的数组 a;然后,利用整数数组索引获取数组四个角(按行优先的顺序获取)的元素得到数组 b;最后,再利用布尔索引获取大于 10 的元素得到数组 c,并输出 c。 请按照编程要求,补全右侧编辑器 Begin-End 内的代码。 测试说明 平台会对你编写的代码进行测试: 测试输入: 1,2,3,4; 预期输出: [16 19] 开始你的任务吧,祝你成功!

import numpy as np ''' arr为一个ndarray类型的数组,line为花式索引的索引数组 ''' def advanced_index(arr,line): # ********** Begin *********** # a = arr[line] b = a[[0, 0, (len(line)-1),(len(line)-1)],[0, 3, 0, 3]] c = b[b > 10] # *********** End ************ # return c def main(): line = list(map(lambda x:int(x),input().split(","))) arr = np.arange(24).reshape(6, 4) print(advanced_index(arr,line)) if __name__ == '__main__': main() 第3关 Numpy 迭代数组

任务描述 本关任务:利用本关相关知识,将一个 ndarray 类型的数组,顺时针旋转 90 度后输出。

编程要求 根据提示,在右侧编辑器 Begin-End 内补充代码,将一个 ndarray 类型的数组顺时针旋转 90 度后输出。 提示: 建议使用外部循环; np.vstack()可以将两个数组竖直堆叠成为新的数组。 测试说明 平台会对你编写的代码进行测试: 测试输入: np.arange(4).reshape(2,2); 预期输出: [[2, 0] [3, 1]] 开始你的任务吧,祝你成功!

import numpy as np '''传入的参数为ndarray类型数组''' def rotate_array(arr): # ******* Begin ******* # i = 0 result = [] for x in np.nditer(arr, flags=['external_loop'], order='F'): x = x[:: -1] if i == 0: result = x i += 1 else: result = np.vstack((result, x)) i += 1 # ******* End ******** # return result def main(): arr = eval(input()) print(rotate_array(arr)) if __name__ == '__main__': main()

点个关注吧,感谢支持! 请添加图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3