【educoder】Numpy进阶

Numpy 是 Python 语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy 内部解除了 Python 的 PIL (全局解释器锁),运算效率极好,是大量机器学习框架的基础库!
本实训需要学员掌握 Python 的基本知识,了解 Numpy 的数据类型以及数组数组属性。

第1关:Numpy广播

本关任务:
给定两个不同形状的数组,求出他们的和。
编程要求:
首先用arange()生成一个数组,然后用reshape()方法,将数组切换成4x3的形状,最后再与basearray相加,输出它们的和。
请按照编程要求,补全右侧编辑器Begin-End区间的代码。

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 区间的代码。

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()
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值