Python数据分析入门日记Day3
——科学技术库Numpy:数组元素提取
由于昨天我们的公众号推送了活动通知,所以Python日记Day3就搁到今天和大家见面。咳咳,在此通知一下,以后如果没有特殊情况,日记会在每天早晨7:30跟你say morning的。今天,来看看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