对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各种语言间时间的转化实现代码
Mar 23 Python
深入理解Python中的super()方法
Nov 20 Python
Python实现的rsa加密算法详解
Jan 24 Python
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
Feb 26 Python
Python实现统计给定列表中指定数字出现次数的方法
Apr 11 Python
Python Scrapy框架第一个入门程序示例
Feb 05 Python
python数据爬下来保存的位置
Feb 17 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
Mar 23 Python
jupyter notebook读取/导出文件/图片实例
Apr 16 Python
浅谈Python描述数据结构之KMP篇
Sep 06 Python
python 实现图片裁剪小工具
Feb 02 Python
Pytorch实现WGAN用于动漫头像生成
Mar 04 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
人大复印资料处理程序_补充篇
2006/10/09 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
Yii2框架redis基本应用示例
2018/07/13 PHP
JavaScript传递变量: 值传递?引用传递?
2011/02/22 Javascript
为原生js Array增加each方法
2012/04/07 Javascript
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
js动态往表格的td中添加图片并注册事件
2014/06/12 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
2014/10/20 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
jQuery中extend函数详解
2015/02/13 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
AngularJS使用angular-formly进行表单验证
2015/12/27 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
2016/01/08 Javascript
JavaScript的React框架中的JSX语法学习入门教程
2016/03/05 Javascript
深入理解JavaScript中的对象复制(Object Clone)
2016/05/18 Javascript
js实现二级导航功能
2017/03/03 Javascript
js CSS3实现卡牌旋转切换效果
2017/07/04 Javascript
vue-cli与webpack处理静态资源的方法及webpack打包的坑
2018/05/15 Javascript
微信小程序canvas拖拽、截图组件功能
2018/09/04 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
2020/07/17 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
2017/11/23 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
python 计算概率密度、累计分布、逆函数的例子
2020/02/25 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
html5 初试 indexedDB(推荐)
2016/07/21 HTML / CSS
Html5之webcoekt播放JPEG图片流
2020/09/22 HTML / CSS
小学生开学感言
2014/02/28 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
学生保证书格式
2015/02/27 职场文书
电影雨中的树观后感
2015/06/15 职场文书
《花钟》教学反思
2016/02/17 职场文书
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
2021/05/06 MySQL
JS轻量级函数式编程实现XDM二
2022/06/16 Javascript