对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实现批量将word转html并将html内容发布至网站的方法
Jul 14 Python
Python 详解基本语法_函数_返回值
Jan 22 Python
python随机取list中的元素方法
Apr 08 Python
python3+PyQt5重新实现自定义数据拖放处理
Apr 19 Python
对python中的xlsxwriter库简单分析
May 04 Python
Python干货:分享Python绘制六种可视化图表
Aug 27 Python
利用Django提供的ModelForm增删改数据的方法
Jan 06 Python
详解Python学习之安装pandas
Apr 16 Python
python opencv将图片转为灰度图的方法示例
Jul 31 Python
python读取与处理netcdf数据方式
Feb 14 Python
python filecmp.dircmp实现递归比对两个目录的方法
May 22 Python
Pyinstaller加密打包应用的示例代码
Jun 11 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设计模式之单例模式代码
2016/06/11 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
javascript prototype 原型链
2009/03/12 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
jquery 按键盘上的enter事件
2014/05/11 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
jquery简单实现幻灯片的方法
2015/08/03 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
2017/09/18 NodeJs
基于twbsPagination.js分页插件使用心得(分享)
2017/10/21 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
2017/12/05 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
使用webpack将ES6转化ES5的实现方法
2019/10/13 Javascript
python opencv3实现人脸识别(windows)
2018/05/25 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
python 运用Django 开发后台接口的实例
2018/12/11 Python
使用 Python 清理收藏夹里已失效的网站
2019/12/03 Python
Python调用Windows命令打印文件
2020/02/07 Python
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
cf战队收人广告词
2014/03/14 职场文书
竞选班干部演讲稿600字
2014/08/20 职场文书
2014年采购部工作总结
2014/11/20 职场文书
2015夏季作息时间调整通知
2015/04/24 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书
Redis入门教程详解
2021/08/30 Redis
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python