编者按:NumPy系统是Python的一种开源的数值计算扩展,它也是是Python数据分析必不可少的第三方库。近日,国外博主Selva Prabhakaran制作了101道真题,为熟悉/不熟悉NumPy的“后备数据科学家”们提供了一个检测自己水平的机会,你不想来挑战一下吗?
本文中的NumPy真题旨在提供一个参考,读者可以借此测试自己数据分析技巧的掌握水平。题目难度由易到难分为L1—L4四等,在做题前,如果你想快速复习一下NumPy知识,以下是两个可以参考的选项:
NumPy基础教程(英语)
NumPy进阶教程(英语)
难度:L1
01
导入NumPy并将它并名为np,输出版本信息。
点击空白处查看答案
无论你要做什么,你必须在其他代码前先输入import numpy as np,这之后它才能正常工作。如果还没有安装,你可以去anaconda下载。
难度:L1
02
创建一个包含数字0-9的一维数组:#> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])。
点击空白处查看答案
难度:L1
03
创建一个3×3的,所有填充为True的数组。
点击空白处查看答案
难度:L1
04
从输入arr中筛选出所有奇数。
输入:
arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])`
期望的输出:
#> array([1, 3, 5, 7, 9])
点击空白处查看答案
难度:L1
05
用-1替换输入arr中的所有奇数。
输入:
arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
期望的输出:
#> array([ 0, -1, 2, -1, 4, -1, 6, -1, 8, -1])
点击空白处查看答案
难度:L2
06
用-1替换输入arr中的所有奇数,但不能改变arr。
输入:
arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
期望的输出:
out#> array([ 0, -1, 2, -1, 4, -1, 6, -1, 8, -1])arr#> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
点击空白处查看答案
难度:L1
07
将一维数组转换为有2行的二维数组。
输入:
np.arange(10)#> array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
期望的输出:
#> array([[0, 1, 2, 3, 4],#> [5, 6, 7, 8, 9]])
点击空白处查看答案
难度:L2
08
将数组a和数组b垂直合并。
输入:
a = np.arange(10).reshape(2,-1)b = np.repeat(1, 10).reshape(2,-1)
期望的输出:
#> array([[0, 1, 2, 3, 4],
#> [5, 6, 7, 8, 9],
#> [1, 1, 1, 1, 1],
#> [1, 1, 1, 1, 1]])
点击空白处查看答案
难度:L2
09
将数组a和数组b水平合并。
输入:
a = np.arange(10).reshape(2,-1)b = np.repeat(1, 10).reshape(2,-1)
期望的输出:
#> array([[0, 1, 2, 3, 4, 1, 1, 1, 1, 1],#> [5, 6, 7, 8, 9, 1, 1, 1, 1, 1]])
点击空白处查看答案
难度:L2
10
在没有hardcode的情况下,用数组a和NumPy函数输出以下目标数组。
输入:
a = np.array([1,2,3])
期望的输出:
#> array([1, 1, 1, 2, 2, 2, 3, 3, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3])
点击空白处查看答案
原文地址:www.machinelearningplus.com/101-numpy-exercises-python/