翻译 | 人工智能头条

参与 | 王柯凝

责编 | suisui

【AI科技大本营导读】Numpy是一个开源的Python科学计算库,专用于存储和处理大型矩阵,相比Python自身的嵌套列表结构要高效很多,是数据分析、统计机器学习的必备工具。Numpy还是深度学习工具Keras、sk-learn的基础组件之一。

此处的70个numpy练习,可以作为你学习numpy基础之后的应用参考。练习难度分为4层:从1到4依次增大。

快来试试你对矩阵运算掌握到了什么程度:

1.导入模块numpy并以np作为别名,查看其版本

难度:1

问题:导入模块numpy并以np作为别名,打印版本号

答案:



你必须将模块numpy导入,以np命名,练习中的其他代码才能正常运行。

安装numpy,建议使用anaconda提供的安装方案。

anaconda链接:

https://www.anaconda.com/download/

2.如何创建一个一维数组?

难度:1

问题:创建一个含有从0到9数字的一维数组,并输出



答案:



3.如何创建布尔数组?

难度:1

问题:创建一个3×3的所有值为True的numpy数组。

答案:



4.如何从1维数组中提取满足给定条件的元素?

难度:1

问题:从arr数组中提取所有奇数元素。

输入:



输出:



答案:



5.在numpy数组中,如何用另一个值替换满足条件的元素?

难度:1

问题:用-1替换arr数组中所有的奇数。

输入:



输出:



答案:



6.如何替换满足条件的元素而不影响原始数组?

难度:2

问题:将arr数组中的所有奇数替换为-1而不更改arr数组

输入:



输出:



答案:



7.如何重塑数组?

难度:1

问题:将1维数组转换为2行的2维数组

输入:



输出:



答案:



8.如何垂直堆叠两个数组?

难度:2

问题:垂直堆叠数组a和b。

输入:



输出:



答案:



9.如何水平堆叠两个数组?

难度:2

问题:水平堆叠数组a和b。

输入:



输出:



答案:



10.没有硬编码的情况下,在numpy中如何生成自定义序列?

难度:2

问题:创建以下模式而不使用硬编码。只能使用numpy函数和输入数组a。

输入:



输出:



答案:



11.如何获得两个python numpy数组之间的共同元素?

难度:2

问题:获取数组a和b之间的共同元素。

输入:



输出:



答案:



12.从一个数组中删除存在于另一个数组中的元素?

难度:2

问题:从数组a中删除在数组b中存在的所有元素。

输入:



输出:



答案:



13.获取两个数组元素匹配的索引号。

难度:2

问题:获取数组a和b的元素匹配的索引号

输入:

输出:



答案:



14.从numpy数组中提取给定范围内的所有数字?

难度:2

问题:从数组a提取5到10之间的所有元素。

输入:



输出:



答案:



15.如何将处理标量的python函数在numpy数组上运行?

难度:2

问题:将处理两个标量函数maxx在两个数组上运行。

输入:



输出:



答案:



16.如何交换2维numpy数组中的两个列?

难度:2

问题:交换数组arr中的第1列和第2列。



答案:



17.如何交换2维numpy数组中的两个行?

难度:2

问题:在数组arr中交换第1行和第2行。



答案:



18.如何反转2维数组的行?

难度:2

问题:反转二维数组arr的行。



答案:





19.如何反转二维数组的列?

难度:2

问题:颠倒二维数组arr的列。



答案:



20.如何创建一个包含5到10之间随机浮点数的二维数组?

难度:2

问题:创建一个5×3的二维数组,以包含5到10之间的随机浮点数。

答案:



21.打印python numpy数组并保留3位小数?

难度:1

问题:打印或显示numpy数组rand_arr,并三位小数。

输入:



答案:



22.如何使用科学记数法(如1e10)漂亮地打印一个numpy数组?

难度:1

问题:使用科学记数法(如1e10)漂亮的打印数组rand_arr

输入:



输出:



答案:





23.如何限制numpy数组输出中打印元素的数量?

难度:1

问题:将python numpy数组a中打印的元素数量限制为最多6个。

输入:



输出:



答案:



24.如何在不截断的情况下打印完整的numpy数组?

难度:1

问题:打印完整的numpy数组a,且不截断。

输入:



输出:



答案:



25.如何在python numpy中导入含有数字和文本的数据集,并保持的文本完整性?

难度:2

问题:导入iris数据集并保持文本不变。

答案:



由于我们想保留物种,一个文本字段,我已经把dtype设置为object。设置dtype = None,则会返回一维元组数组。

26.如何从一维元组数组中提取特定的列?

难度:2

问题:从上一个问题中导入的一维iris数组中提取species文本列。

输入:



答案:



27.如何将一维元组数组转换为二维numpy数组?

难度:2

问题:通过省略species文本字段将一维iris数组转换为二维数组iris_2d。

输入:



答案:



28.如何计算numpy数组的平均值,中位数,标准差?

难度:1

问题:找出 iris的 sepallength平均值,中位数,标准差(第1列)



答案:



29.如何标准化一个数组至0到1之间?

难度:2

问题:创建一个规范化形式的iris的sepallength,其值的范围在0和1之间,最小值为0,最大值为1。

输入:



答案:



30.如何计算softmax值?

难度:3

问题:计算sepallength的softmax分数。



答案:



31.如何找到一个numpy数组的百分位的值?

难度:1

问题:找到iris的sepallength第5位和第95百分位的值。



答案:



32.如何在数组中的随机位置插入一个值?

难度:2

问题:在iris_2d数据集的20个随机位插入np.nan值



答案:



33.如何找到numpy数组中缺失值的位置?

难度:2

问题:在iris_2d的sepallength(第1列)中查找缺失值的数量和位置。



答案:



34.如何根据两个或多个条件过滤一个numpy数组?

难度:3

问题:过滤具有petallength(第3列)> 1.5和sepallength(第1列)<5.0的iris_2d的行。



答案:



35.如何从numpy数组中删除包含缺失值的行?

难度:3:

问题:选择没有nan值的iris_2d数组的行。



答案:



36.如何找到numpy数组的两列之间的相关性?

难度:2

问题:在iris_2d数组中查找SepalLength(第1列)和PetalLength(第3列)之间的关系。



答案:



37.如何查找给定数组是否有空值?

难度:2

问题:找出数组iris_2d是否有缺失的值。



答案:



38.如何在numpy数组中使用0替换所有缺失值?

难度:2

问题:在numpy数组中用0替换nan。



答案:



39.如何查找numpy数组中的唯一值的数量?

难度:2

问题:找出iris的species中的唯一值及其数量。



答案:



40.如何将数值转换为分类(文本)数组?

难度:2

问题:将iris_2d的花瓣长度(第3列)组成一个文本数组,如果花瓣长度为:

  • <3则为'小'

  • 3-5则为'中'

  • '> = 5则为'大'

答案:

41.如何利用numpy数组现有列创建一个新的列?

难度:2

问题:在iris_2d中为volume创建一个新列,其中volume是(pi x petallength x sepal_length ^ 2)/ 3。

答案:

42.如何在numpy中进行概率抽样?

难度:3

问题:随机抽样iris的species,使setose是versicolor和virginica的数量的两倍。

答案:

方法2是首选,因为它创建了一个可用于采样二维表格数据的索引变量。

43.用另一个数组分组时,如何获得数组中第二大的元素值?

难度:2

问题:第二长的物种的最大价值是什么?

答案:

44.如何按列排序二维数组?

难度:2

问题:根据sepallength列对iris数据集进行排序。

答案:

45.如何在numpy数组中找到最频繁出现的值?

难度:1

问题:找到iris数据集中最常见的花瓣长度值(第3列)。

输入:

答案:

46.如何找到首次出现的值大于给定值的位置?

难度:2

问题:查找在iris数据集的第4列花瓣宽度中第一次出现值大于1.0的位置。

答案:

47.如何将所有大于给定值的值替换为给定的cutoff值?

难度:2

问题:从数组a中,替换大于30包括30且小于10到10的所有值。

输入:

答案:

48.如何从numpy数组中获取n个值的位置?

难度:2

问题:获取给定数组a中前5个最大值的位置。

答案:

49.如何计算数组中所有可能值的行数?

难度:4

问题:计算有唯一值的行数。

输入:

输出:

输出包含10列,表示1到10之间的数字。这些值是相应行中数字数量。

例如,单元(0,2)的值为2,这意味着数字3在第一行中恰好出现2次。

答案:

50.如何将多维数组转换为一维数组?

难度:2

问题:将array_of_arrays转换为平坦的线性一维数组。

输入:

输出:

答案:

51.如何为numpy中的数组生成独热编码(one-hot encodings)?

难度:4

问题:计算独热编码。

输入:

输出:

答案:

52.如何创建按分类变量分组的行号?

难度:3

问题:创建由分类变量分组的行号。使用iris的species中的样品作为输入。

输入:

输出:

答案:

53.如何根据给定的分类变量创建分组ID?

难度:4

问题:根据给定的分类变量创建组ID。使用以下iris的species中样品作为输入。

输入:

输出:

答案:

54.如何使用numpy排列数组中的元素?

难度:2

问题:为给定的数字数组a排序。

输入:

输出:

答案:

55.如何使用numpy对多维数组中的元素进行排序?

难度:3

问题:创建一个与给定数字数组a相同形式的排列数组。

输入:

输出:

答案:

56.如何找到numpy二维数组每一行中的最大值?

难度:2

问题:计算给定数组中每一行的最大值。

答案:

57.如何计算numpy二维数组每行中的最小值?

难度:3

问题:针对给定的二维numpy数组计算每行的min-max。

答案:

58.如何在numpy数组中找到重复的记录?

难度:3

问题:在给定的numpy数组中找到重复的条目(从第2个起),并将它们标记为True。第一次出现应该是False。

输出:

答案:

59.如何找到numpy中的分组平均值?

难度:3

问题:查找由二维numpy数组中的分类列分组的数值列的平均值

输入:

输出:

答案:

60.如何将PIL图像转换为numpy数组?

难度:3

问题:从以下URL中导入图像并将其转换为numpy数组。

URL='https://upload.wikimedia.org/wikipedia/commons/8/8b/Denali_Mt_McKinley.jpg'

答案:

61.如何删除numpy数组中所有缺失的值?

难度:2

问题:从一维numpy数组中删除所有nan值

输入:

输出:

答案:

62.如何计算两个数组之间的欧氏距离?

难度:3

问题:计算两个数组a和b之间的欧式距离。

输入:

答案:

63.如何在一维数组中找到所有局部最大值(或峰值)?

难度:4

问题:在一维numpy数组a中查找所有峰值。峰值是两侧较小值包围的点。

输入:

输出:

其中,2和5是峰值7和6的位置。

答案:

64.如何从二维数组中减去一维数组,其中一维数组的每个元素都从相应的行中减去?

难度:2

问题:从二维数组a_2d中减去一维数组b_1d,使得每个b_1d项从a_2d的相应行中减去。

输出:

答案:

65.如何找到数组中第n个重复项的索引

难度:2

问题:找出x中第1个重复5次的索引。

答案:

66.如何将numpy的datetime64对象转换为datetime的datetime对象?

难度:2

问题:将numpy的datetime64对象转换为datetime的datetime对象。

答案:

67.如何计算numpy数组的移动平均值?

难度:3

问题:计算给定一维数组窗口大小为3的移动平均值。

输入:

答案:

68.如何只给出起点,长度和步长来创建一个numpy数组序列?

难度:2

问题:创建一个长度为10的numpy数组,从5开始,在连续数字之间有一个3的步长。

答案:

69.如何填写不规则的numpy日期系列中的缺失日期?

难度:3

问题:给定一个不连续的日期数组。通过填补缺失的日期,使其成为连续的日期序列。

输入:

答案:

70.如何在给定一个一维数组中创建步长?

难度:4

问题:从给定的一维数组arr,使用步长生成一个二维数组,窗口长度为4,步长为2,如[[0,1,2,3],[2,3,4,5],[4,5,6,7]..]

输入:

输出:

答案:

原文地址:

https://www.machinelearningplus.com/101-numpy-exercises-python/

70个NumPy分级练习:用Python一举搞定机器学习矩阵运算相关推荐

  1. 60行Python代码搞定,王者荣耀雷达图!

    点击上方"菜鸟学Python",选择"星标"公众号 超级无敌干货第一时间推给你!!! 现有以下表格,我需要画成第二张图中的雷达图(类似fifa足球.王者荣耀里面 ...

  2. python内置作用域_python内置金融数据Python 五点搞定作用域

    1.块级作用域 想想此时运行下面的程序会有输出吗?执行会成功吗?#块级作用域 if 1 == 1: name = "lzl" print(name) for i in range( ...

  3. python pdf转word 表格_太赞了!Pdf转Word,我用Python 轻松搞定表格和水印!

    原标题:太赞了!Pdf转Word,我用Python 轻松搞定表格和水印! 继上一次为大家推出了将pdf转word之后(卧槽!Pdf转Word用Python轻松搞定!),引起了大家的热烈讨论,我也总结了 ...

  4. 再见PDF提取收费!我用100行Python代码搞定!

    点上方"菜鸟学Python",选择"星标" 第471篇原创干货,第一时间送达 大家在日常的工作和学习过程中,都少不了与PDF文件打交道,很多的小伙伴都面临着将P ...

  5. About 一行Python代码搞定局域网内文件共享与传输

    一行Python代码搞定局域网内文件共享与传输 前提:环境中有Python安装,并配置环境变量. 1.共享目录:Windows下,在要共享文件目录下,shift+鼠标右键,在此处打开命令行窗口(CMD ...

  6. 女朋友让我深夜十二点催她睡觉,我用Python轻松搞定!

    事情是这样的:昨天晚上,女朋友让我十二点催她睡觉. 不过,可是我实在太困了,熬不下去-- 是吧?女朋友哪有睡觉重要? 但,女朋友的命令,我是不敢违抗的-- 但是睡觉也不能缺! 这时候我们该怎么办呢?是 ...

  7. 神器!用Python轻松搞定验证码!

    转自:大邓和他的Python 大家好,今天给大家介绍一款通用验证码识别OCR库的神器,项目地址:https://github.com/sml2h3/ddddocr.市场上常见的点选类验证码图片如下图所 ...

  8. [python]一行搞定字符串排序

    [python]一行搞定字符串排序 本文最初发表于恋花蝶的博客(http://blog.csdn.net/lanphaday),欢迎转载,但请保留本声明. 一般情况下,python中对一个字符串排序相 ...

  9. 用Python轻松搞定Excel中的20个常用操作

    来源 |早起Python(ID: zaoqi-python) Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据 ...

最新文章

  1. 线性代数:第二章 矩阵及其运算(上)
  2. 凭啥Java运行环境称虚拟机 Python只能称解释器
  3. yolov5组件笔记
  4. Xcode:Task failed with exit 1 signal 0 {
  5. android aar编程,AndroidStudio脚本命令指定AAR生成目录与版本号
  6. pthread_t描述说明
  7. uva 10037——Bridge
  8. 《盘点那些秀你一脸的秒天秒地算法》(1)
  9. 计算机网络7种类型,OSPF中7种类型LSA
  10. 汽车制造MES介绍之3 - AVI车辆识别与调度
  11. 15. jQuery - 删除元素
  12. Android 网络代理的创建
  13. c语言实验报告评语大全,c语言实验报告(学生).doc
  14. 张国立不敢要片酬,吴京带病上阵拍戏,这个大佬不好惹?!
  15. 计算机网络搭建一个小型局域网,如何建立一个小型的局域网,来实现电脑与电脑之间的通信连接问题...
  16. 【12NOIP普及组】质因数分解
  17. 从Waterfall到Bidding,开发者离Open Bidding还有多远
  18. 小资金超短线如何实现快速翻倍?
  19. python操作mysql_python操作MySQL
  20. [审核]审核被拒绝(开发账号目前正在接受调查)

热门文章

  1. Windows 2008 部署服务之Windows 7 应答文件创建
  2. 如何使用Log4j?
  3. Ubuntu查看硬件详细信息
  4. Ubuntu双击运行Shell脚本
  5. php cpu使用率,如何减低php程序的cpu使用率?
  6. java自学 day1
  7. 软件工程网络15结对编程作业
  8. 源码0306-手势解锁
  9. WebFrom模拟MVC
  10. think in Java 第五章之垃圾回收类型