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


Posted in Python onNovember 26, 2019

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

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

代码示例:

from sklearn.datasets.samples_generator import make_blobs
import numpy as np
import matplotlib.pyplot as plt

#product 20 samples and divide them in 4 different types
X, label_true = make_blobs(n_samples=20,centers=4)
print("Data:{:}".format(X))
print("label_true:{:}".format(label_true))

#eliminate the repeated elements
labels=np.unique(label_true)
print("labels:{:}".format(labels))

#plot
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
colors = 'rgbycm'
for index,elem in enumerate(labels):
 position=label_true==elem
 print("position{:}:{:}".format(index,position))
 plt.scatter(X[position,0],X[position,1],label="cluster %d"%elem,color=colors[index%len(colors)])
plt.show()

实验结果:

Data:[[ 6.28987299 1.19041843]
 [ 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]
 [ 5.33991984 1.24833992]]
label_true:[0 2 1 2 2 0 1 3 1 3 3 1 2 3 0 3 2 0 1 0]
labels:[0 1 2 3]
position0:[ True False False False False True False False False False False False
 False False True False False True False True]
position1:[False False True False False False True False True False False True
 False False False False False False True False]
position2:[False True False True True False False False False False False False
 True False False False True False False False]
position3:[False False False False False False False True False True True False
 False True False True False False False False]

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

结果分析:

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

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

代码示例

import numpy as np
a=np.empty(shape=[0,4], dtype=int)
a=np.append(a,[[1,2,3,4],[2,3,4,5],[7,8,9,10]],axis=0)
position=[True,False,True]
print(a)
print(a[position,3])

结果:

[[ 1 2 3 4]
 [ 2 3 4 5]
 [ 7 8 9 10]]
[ 4 10]

结果分析:

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

是不是比用for快多了~~

以上这篇python实现在多维数组中挑选符合条件的全部元素就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python入门之三角函数全解【收藏】
Nov 08 Python
python matplotlib坐标轴设置的方法
Dec 05 Python
python matplotlib中文显示参数设置解析
Dec 15 Python
如何运行.ipynb文件的图文讲解
Jun 27 Python
对Django中内置的User模型实例详解
Aug 16 Python
Python3之外部文件调用Django程序操作model等文件实现方式
Apr 07 Python
Django实现内容缓存实例方法
Jun 30 Python
详解向scrapy中的spider传递参数的几种方法(2种)
Sep 28 Python
python 怎样进行内存管理
Nov 10 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 Python
详解Python Celery和RabbitMQ实战教程
Jan 20 Python
PyTorch中permute的使用方法
Apr 26 Python
Python实现图片添加文字
Nov 26 #Python
从numpy数组中取出满足条件的元素示例
Nov 26 #Python
python实现图片上添加图片
Nov 26 #Python
numpy:找到指定元素的索引示例
Nov 26 #Python
python中seaborn包常用图形使用详解
Nov 25 #Python
解决python中的幂函数、指数函数问题
Nov 25 #Python
妙用itchat! python实现久坐提醒功能
Nov 25 #Python
You might like
老生常谈PHP位运算的用途
2017/03/12 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
Boostrap基础教程之JavaScript插件篇
2016/09/08 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
jquery 判断div show的状态实例
2016/12/03 Javascript
jQuery实现的浮动层div浏览器居中显示效果
2017/02/03 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
ubuntu编译nodejs所需的软件并安装
2017/09/12 NodeJs
浅谈使用React.setState需要注意的三点
2017/12/18 Javascript
解决iview打包时UglifyJs报错的问题
2018/03/07 Javascript
webpack4.0 入门实践教程
2018/10/08 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
Vue路由管理器Vue-router的使用方法详解
2020/02/05 Javascript
详解JavaScript中分解数字的三种方法
2021/01/05 Javascript
Python中生成器和yield语句的用法详解
2015/04/17 Python
Python 操作文件的基本方法总结
2017/08/10 Python
Python机器学习之决策树算法
2017/12/22 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
对Django外键关系的描述
2019/07/26 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
世界上获奖最多的手机镜头:Olloclip
2018/03/03 全球购物
Furla官网:意大利著名的皮革品牌
2019/08/06 全球购物
JAVA代码查错题
2014/10/10 面试题
网络工程师自荐书范文
2014/04/01 职场文书
财务部绩效考核方案
2014/05/04 职场文书
感恩老师演讲稿400字
2014/08/28 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
新员工入职欢迎词
2015/01/23 职场文书
个人股份转让协议书范本
2015/01/28 职场文书
2015年实习单位评语
2015/03/25 职场文书
离职信范本
2015/06/23 职场文书
《学会看病》教学反思
2016/02/17 职场文书