python如何实现在多维数组中挑选符合条件的全部元素

  介绍

这篇文章将为大家详细讲解有关python如何实现在多维数组中挑选符合条件的全部元素,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

<强>问题产生:今天在编写神经网络的集群作业时,需要根据根据数据标签用不同的颜色画出数据的分布情况,由此学习到了这种高效的方法。

<强>传统思路:强用的循环来挑选符合条件的元素,这样十分浪费时间。

<强>代码示例:

得到sklearn.datasets.samples_generator  import  make_blobs   import  numpy  as  np   import  matplotlib.pyplot  as  plt      # product  20, samples 以及divide  them  4,拷贝different 类型   时间=X,, label_true  make_blobs (n_samples=20,中心=4)   打印(“数据:{}“.format (X))   print (“label_true: {}“.format (label_true))      # eliminate 从而,repeated 元素   标签=np.unique (label_true)   打印(“标签:{}“.format(标签)      #地块   时间=fig  plt.figure ()   时间=ax  fig.add_subplot (1, 1, 1)   时间=colors  & # 39; rgbycm& # 39;   for 指数,elem 列举拷贝(标签):   位置=label_true==elem   ,打印(“位置{}:{:}“.format(指数、位置)   (位置,0),plt.scatter (X, X(位置1),标签=癱luster  % d" % elem颜色=颜色(指数% len(颜色)))   plt.show ()

<强>实验结果:

数据:[[1.19041843,6.28987299]   ,[2.12673463,-1.90647309]   ,(-8.56276424,1.8136798,)   ,[2.42611937,-3.81970786]   ,[1.83488662,-3.10733306]   ,[6.28320138,-0.24840258]   ,[-6.74802304,1.13642657]   ,[2.21681643,6.28894411]   ,[-7.16100601,0.04482262]   ,[1.66858847,3.42225284]   ,[3.19972789,4.58804196]   ,[-7.37006942,0.57068008]   ,[0.52465584,-2.68794047]   ,[2.71075921,3.57281778]   ,(5.99343237,0.0120798,)   ,[4.28307033,4.28727222]   ,[0.73714246,-2.38643522]   ,[5.58384782,-0.62066592]   ,[-8.44295576,-0.05933983]   ,[1.24833992,5.33991984]]   label_true: [0, 2, 1, 2, 2, 0, 1, 3, 1, 3, 3, 1, 2, 3, 0, 3, 2, 0, 1, 0]   标签:[0,1,2,3]   position0:(, True  False  False  False  False  True  False  False  False  False  False 错误的   ,False  False  True  False  False  True  False 真正的]   position1: [False  False  True  False  False  False  True  False  True  False  False 真实的   ,False  False  False  False  False  False  True 假)   position2: [False  True  False  True  True  False  False  False  False  False  False 错误的   ,True  False  False  False  True  False  False 假)   position3: [False  False  False  False  False  False  False  True  False  True  True 错误的   ,False  True  False  True  False  False  False 假)

 python如何实现在多维数组中挑选符合条件的全部元素

<强>结果分析:

我们可以看出黄色部分的作用,第一行位置=label_true==elem的作用是让位置在label_true==elem的位置置为真的,反之为假,从而得到的位置是一个真和假的集合,

而第三行X(位置,0),X[位置,1]就是选择为真正的位置上的横坐标和纵坐标,打印出来。还有点懵呢?我们用最简单的数组来表示

<强>代码示例

import  numpy  as  np=np.empty(=[0, 4],形状,dtype=int)=np.append([[1、2、3、4],[2、3、4、5],[7 8 9 10]],轴=0)   位置=(真的,假,真的)   print ()   打印([位置,3])

<强>结果:

[[, 1, 2, 3, 4)   ,(2,3,4,5]   ,[7,8,9,10]]   (10,4)

<强>结果分析:

显然这是一个3行4列的矩阵,我们用位置得到的是[[0]、[2]),然后取一个[0]和[2]的第4个元素,则为4和10。

关于“python如何实现在多维数组中挑选符合条件的全部元素”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。

python如何实现在多维数组中挑选符合条件的全部元素