首页 > 其他分享 >Numpy数值计算Numpy 进阶在线闯关_头歌实践教学平台

Numpy数值计算Numpy 进阶在线闯关_头歌实践教学平台

时间:2023-12-01 14:32:59浏览次数:32  
标签:__ arr 进阶 头歌 数组 np line Numpy



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()

点个关注吧,感谢支持!

Numpy数值计算Numpy 进阶在线闯关_头歌实践教学平台_数据可视化


标签:__,arr,进阶,头歌,数组,np,line,Numpy
From: https://blog.51cto.com/xiaokesong/8645964

相关文章

  • 进阶版
    1.浮点数在内存中的存储#define_CRT_SECURE_NO_WARWINGS#include<stdio.h>//intmain()//{// inta=10;// floatf=10.0;//// return0;//}//intmain()//{// inta=20;//// //00000000000000000000000000010100 -源码// //0000000000000000000000000001010......
  • CSS进阶1--字体样式-文本样式
    link.css--连接外部样式表1.文字样式:①font-family:字体样式②font-style:文本的字体样式 属性:normal-正常 italic-斜体字样式显示 oblique-文字向一边倾斜(与italic类似,但不太支持)③font-variant--以小型大写字体或正......
  • 代码随想训练营第四十五天(Python)| 70. 爬楼梯 (进阶)、322. 零钱兑换 、 279.完全平方数
    70.爬楼梯(进阶)1、使用01背包解法classSolution:defclimbStairs(self,n:int)->int:#dp数组代表爬上第i阶有dp[j]种方法dp=[0]*(n+1)dp[0]=1m=2#排列先背包后物品foriinrange(n+1):......
  • Numpy-argsort()用法和Numpy-flipud()用法
    Numpy-argsort()用法语法:np.argsort(a,axis=-1,kind='quicksort',order=None)功能:对a进行由小到大排序,并输出其索引实例:importnumpyasnptest=np.array([8,2,-2,3,9,1])new_test=np.argsort(test)print('一维数组的排序结果:{}'.format(new_test))输出结......
  • 基于双下划线的跨表查询 进阶连续跨表查询
    基于双下划线的跨表查询:#连表查询#基于对象的跨表查询,先查对象,通过对象再去查另一个对象(正向:字段名,反向:表名小写/表名小写_set.all())#地址为山东的作者写的所有书#author_detail=models.AuthorDetail.objects.get(addr='山东')#author=author_detail.autho......
  • Pandas数据框操作进阶
    Pandas为Python营造了一个高水平的操作环境,还提供了便于操作的数据结构和分析工具。无需更多介绍,Pandas已经是Python中数据分析的常用工具了。作为一个数据科学家,Pandas是我日常使用的工具,我总会惊叹于它强大的功能,并且极大提升了工作效率的Pandas技巧。对于pandas新手而言,Pandas......
  • SpringMVC_2023_11_28_3 SpringMVC_进阶(文件的上传--idea的配置)
    SpringMVC_进阶(文件的上传--idea的配置)项目结构......
  • numpy 普通方法
     ndarray.ndim-数组的维度:importnumpyasnp#创建一个一维数组arr_1d=np.array([1,2,3])print("数组:",arr_1d)print("数组的维度:",arr_1d.ndim)数组:[123]数组的维度:1ndarray.shape-数组的形状(维度大小):importnumpyasnp#创建一个二......
  • numpy 统计方法
      numpy.mean()importnumpyasnpa=np.array([[1,2,3],[3,4,5],[4,5,6]])print(a)print(np.mean(a))print(np.mean(a,axis=0))print(np.mean(a,axis=1))[[123][345][456]]3.6666666666666665[2.666666673.666666674.66666667][2.4.5.]......
  • 网站SEO进阶指南:如何用Python爬虫进行网页结构优化
    前段时间一个做网络优化的朋友找我,问我能不能通过爬虫的手段对他们自己的网络进行优化。这个看着着实比较新颖,对于从事爬虫行业的程序员来说,很有挑战性,值得尝试尝试。说白了使用爬虫进行网站优化需要对网站的结构、内容、链接等进行全面的分析和优化,以提高网站在搜索引擎中的排名和......