<>强例如问题:从arr数组中提取所有奇数元素。强>
输入:arr=np。数组([0,1,2,3,4,5,6,7,8,9)) 输出:#比;数组([1、3、5、7、9]) 解决方案: #输入 在在在arr=np。数组([0,1,2,3,4,5,6,7,8,9)) #解决方案 arr=arr (arr % 2==1) 在在在数组([1、3、5、7、9]) >之前这是对奇数元素的提取,其他条件同理,在这个问题上我们深入再学习一下,首先numpy中数的数组组是可以直接对数组中的每个元素进行处理的,例如我们想对每个元素减一:
#输入 在在在arr=np。数组([0,1,2,3,4,5,6,7,8,9)) #解决方案 在在在加勒比海盗 数组([0,1,2,3,4,5,6,7,8,9)) 在在在加勒比海盗- 1 数组([1,0,1,2,3,4,5,6,7,8])从上面的例子我们可以看出来,arr对直接进行减一操作,结果是对每一个元素都进行了减一的操作,数组的维度不变,为了满足取出特定条件的元素这个操作,我们可以进行条件判断,例如判断每个元素是否为奇数:
#输入 在在在arr=np.arange (10) 在在在加勒比海盗 数组([0,1,2,3,4,5,6,7,8,9)) #解决方案 在在在arr % 2==1 数组([假的,真的,假的,真的,假的,真的,假的,真的,假的,真正的])由此可见,条件判断后输出为和arr相同维度的数组,但是其中每个元素为布尔类型的值,取值为数组arr对每个元素分别进行条件判断的结果。
下面我们分析数的arr对组进行特定取值,给其一个布尔类型的arr数组,并且维度与arr相同,以此得到取值的目的:
#输入 在在在arr_bool=np。数组([1,- 1,0,0,1,1,0,0,1,1],dtype=bool) 在在在arr_bool 数组([没错,真的,假的,假的,真的,真的,假的,假的,真的,真的)) #解决方案 在在在加勒比海盗(arr_bool) 数组([0、1、4、5、8、9])从上述例子,我们构建了一个布尔类型的数组为arr_bool,并且维度与arr相同,进行直接嵌入实现了取值,以此完成了我们最终的目的,可以对任意满足条件的元素进行提取。并且理解了其中的原理。
<>强PS:番外篇,如果维度不同可以吗? 强>
#输入 在在在arr_bool=np。(11日dtype=bool) 在在在arr_bool 数组([真的,真的,真的,真的,真的,真的,真的,真的,真的,真的,真的])#注意! !这里有11个真正的哦。 #解决方案 在在在加勒比海盗(arr_bool) 回溯(最近的电话): 文件“& lt; stdin>”,1号线& lt; module> IndexError:布尔指数不匹配索引数组维度0;维是10但相应的布尔维是11由上可见,维度必须保持一致,从加勒比海盗数组里才可以按照bool类型取出对应位置为真正的元素。这个性质帮助我们可以更灵活的处理numpy数组。
<强> PS2:如何替换满足条件的元素为其它值呢? 强>
在在在arr=np.arange (10) 在在在加勒比海盗 数组([0,1,2,3,4,5,6,7,8,9)) 在在在arr (arr % 2==1]=1 在在在加勒比海盗 数组([0,1、2、1,4,1、6、1、8、1])以上这篇从numpy数组中取出满足条件的元素示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
从numpy数组中取出满足条件的元素示例