Python数据分析入门日记Day3:科学技术库Numpy:数组元素提取

Python数据分析入门日记Day3

——科学技术库Numpy:数组元素提取

获取数组中的元素,无非是通过切片和索引的方式。

1、一维数组元素的获取

(1)导入Numpy库,并创建一个新的一维数组arr7。数组arr7为由1~10组成。

(2)索引数组arr7中的第3个元素

由于Python的索引位置是从0算起的,所以当要索引第3个元素时,[ ]中要输入2。

(3)索引数组arr7中的前三个元素

(4)获取第4个元素及以后的元素

想要获取数组arr7中第4个及以后元素,[ ]中的冒号后面不用填任何数字,意在从第4个元素开始进行切片,一直切到最后。由于Python是“算头不算尾”的,我们要找的第4个元素对应的索引值应该是3,而终止值是默认缺失的,会一直切到最后。

(5)获取最后两个元素

(6)获取数组中的奇数

切片不仅有开始索引值和结束索引值两个参数值,第三个参数位置可以填步长,此时,我们设置步长为2。

2、二维数组元素的获取

(1)重新定义一个数组arr8,构成元素为1~12,并将其重新改组成3×4的形式。

(2)提取第二行元素

由于数组arr8中第二行对应的索引值为1,因此,操作如下:

(3)提取前两行

提取数组arr8中的前两行,实际就是说,提取第三行之前的两行,那么第三行的索引值为2,因此,操作如下:

(4)提取第一行和第三行

由于第一行所对应的索引值是0,第三行所对应的索引值是2,在[ ]中输入参数[0,2]。查看结果:

(5)提取第一列

提取第一列的意思就是说,要提取每一行中的第一个元素,因此要将每一行都提取出来,然后去第1个元素,第一个元素对应的索引值是0。

(6)提取最后两列

(7)提取指定列中的元素

这里提取第1列和3列中的元素,首先提取每一行,之后考虑第一列对应的索引值是0,第三列对应的索引值是2,查看结果:

(8)得到数组中的某个元素

需要用两个数字对二维数组中的元素进行定位,比如,我们要得到数组中的数字7所在的位置,应该这样输入:

3、布尔索引

我们知道布尔值通常是True/False,现在来用布尔值进行索引。

(1)准备创建一个六行的多维数组,首先要创建一个包含6个布尔值的数组,以便之后的索引,赋值给变量log。创建一个6×4列的新数组arr9,组成元素为1~24。

(2)接下来,返回所有为True的对应行,操作如下:

若想得到返回为False的对应行,在[ ]中输入-log.

(3)布尔索引不仅可以用True/False表示,也可以用一些字符串来表示,并重新创建一个0~20组成的7×3的新数组arr10。

(4)如果要返回所有“A”对应的行组成的数组,此时

4、花式索引

什么是花式索引呢?就是把数组作为索引,将原数组中的元素提取出来,具体操作如下:

(1)重新定义一个数组arr10,由1~28构成一个7行4列的二维数组。

(2)提取指定行

若想要提取第5行、第2行、第4行、第6行,那么,将这四行所对应的索引值找出,分别为4,1,3,5。

(3)提取指定列

先指定提取第5行、第2行、第6行,找到它们对应的索引值分别是4,1,5;再提取其中的第1列、第3列、第4列,索引值分别为0,2,3。

(4)提取指定元素

如果要提取第5行中的第1个元素、第2行中的第2个元素、第4行中的第4个元素、第6行中的第2个元素。首先,找到每一行所对应的索引值为4、1、3、5,在找到每个元素的索引值,分别为0、1、3、1.

(5)ix_()

ix_()函数能够更简便的完成索引,来感受一下:

利用ix_()函数索引到了第5行、第2行、第6行中的第1列、第3列、第4列。

以上是对数组元素进行索引的学习,不知道对你有没有收获呢?想要熟练掌握数组元素的索引,我认为最好的方法就是多用,用惯了就不会出错啦!感谢您愿意打开我的Python数据分析学习日记,如有什么问题或者更好的建议,欢迎留言指点!今天,要跟我的读者们说早安啦!

Ovaltine

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190119G059AY00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券