对Python random模块打乱数组顺序的实例讲解


Posted in Python onNovember 08, 2018

在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的数组。功能主要由python中random模块的sample()函数实现。

sample(population, k) method of random.Random instance
 Chooses k unique random elements from a population sequence or set.

下面的代码实现的是打乱iris数据,iris数据是网上下载的csv格式文件,相信大家不陌生的了,原始数据是三种鸢尾(iris)顺序排列的,三种花分别是:setosa,versicolor 和 virginica ,记录的数据有SepalLengthCm(花萼长度), SepalWidthCm(花萼宽度), PetalLengthCm(花瓣长度), PetalWidthCm (花瓣宽度)

对Python random模块打乱数组顺序的实例讲解

在做聚类分析的时候曾经用到过iris数据,当然,如果安装了scikit learn 模块的话,可以通过

from sklearn import datasets
iris = datasets.load_iris()

获取

参考链接:http://scikit-learn.org/stable/auto_examples/datasets/plot_iris_dataset.html

下面的程序实现打乱iris的数据顺序:

import pandas as pd
import random as rd # 导入random模块,使用里面的sample函数
from pylab import *
iris = pd.read_csv('D:\\Iris.csv')
a1=reshape(iris['Id'],[150,1])
a2=reshape(iris['SepalLengthCm'],[150,1])
a3=reshape(iris['SepalWidthCm'],[150,1])
data=c_[a1,a2,a3]
idx=rd.sample(range(150),150) 

iris = data[idx] # 打乱顺序,这里只选取了花萼长度和宽度这两个特征值

2017/7/10 updated

打乱顺序的方法还可以使用random.shuffle(iterable),这样会直接改变iterable的顺序,shuffle 是洗牌的意思,顾名思义,需要注意的是random.shufle()函数没有返回值,如果写成

mylist = random.shuffle(list1)

将不会得到任何结果

以上这篇对Python random模块打乱数组顺序的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用异常处理来判断运行的操作系统平台方法
Jan 22 Python
python中使用mysql数据库详细介绍
Mar 27 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
Sep 26 Python
python 通过类中一个方法获取另一个方法变量的实例
Jan 22 Python
Pandas之排序函数sort_values()的实现
Jul 09 Python
Python Django 实现简单注册功能过程详解
Jul 29 Python
python实现二分类的卡方分箱示例
Nov 22 Python
Python的几种主动结束程序方式
Nov 22 Python
pytorch模型存储的2种实现方法
Feb 14 Python
keras实现图像预处理并生成一个generator的案例
Jun 17 Python
pytorch中index_select()的用法详解
Jan 06 Python
python 定义函数 返回值只取其中一个的实现
May 21 Python
Python中对数组集进行按行打乱shuffle的方法
Nov 08 #Python
python绘制热力图heatmap
Mar 23 #Python
Django 路由控制的实现代码
Nov 08 #Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
Nov 07 #Python
在Python中分别打印列表中的每一个元素方法
Nov 07 #Python
对python中数组的del,remove,pop区别详解
Nov 07 #Python
对Python中plt的画图函数详解
Nov 07 #Python
You might like
通过PHP设置BugFree获取邮箱通知
2019/04/25 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
javascript 触发事件列表 比较不错
2009/09/03 Javascript
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
超轻量级的基于jquery的三级展开列表
2011/04/26 Javascript
jquery 查找iframe父级页面元素的实现代码
2011/08/28 Javascript
JavaScript判断DOM何时加载完毕的技巧
2012/11/11 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
2014/04/10 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
一个仿微博登陆邮箱提示框js开发案例
2016/07/28 Javascript
微信小程序 动画的简单实例
2017/10/12 Javascript
vue-cli项目优化方法- 缩短首屏加载时间
2018/04/01 Javascript
简单的vuex 的使用案例笔记
2018/04/13 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
Python标准库之itertools库的使用方法
2017/09/07 Python
python获取网页中所有图片并筛选指定分辨率的方法
2018/03/31 Python
Python线程同步的实现代码
2018/10/03 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
Python之时间和日期使用小结
2019/02/14 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
2020/01/19 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
2020/06/03 Python
canvas使用注意点总结
2013/07/19 HTML / CSS
Snapfish爱尔兰:在线照片打印和个性化照片礼品
2018/09/17 全球购物
金属材料工程毕业生个人的自我评价
2013/11/28 职场文书
劳动之星获奖感言
2014/02/01 职场文书
财务主管岗位职责
2014/02/28 职场文书
运动会广播稿150字(9篇)
2014/09/20 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
2014年图书馆工作总结
2014/11/25 职场文书
金融专业银行实习证明模板
2014/11/28 职场文书
生产车间主任岗位职责
2015/04/08 职场文书
python必学知识之文件操作(建议收藏)
2021/05/30 Python
新手初学Java List 接口
2021/07/07 Java/Android
SQL Server内存机制浅探
2022/04/06 SQL Server