对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 相关文章推荐
Python3.2中Print函数用法实例详解
May 19 Python
Python正则获取、过滤或者替换HTML标签的方法
Jan 28 Python
Python中使用bidict模块双向字典结构的奇技淫巧
Jul 12 Python
Python自动生产表情包
Mar 17 Python
Python中判断子串存在的性能比较及分析总结
Jun 23 Python
如何使用Python 打印各种三角形
Jun 28 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
Oct 24 Python
python的等深分箱实例
Nov 22 Python
解决python彩色螺旋线绘制引发的问题
Nov 23 Python
pycharm激活码快速激活及使用步骤
Mar 12 Python
Python3爬虫中Splash的知识总结
Jul 10 Python
Python Spyder 调出缩进对齐线的操作
Feb 26 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
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
php在文件指定行中写入代码的方法
2012/05/23 PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
2013/07/05 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
html+javascript实现可拖动可提交的弹出层对话框效果
2013/08/05 Javascript
js获取通过ajax返回的map型的JSONArray的方法
2014/01/09 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
2014/10/17 Javascript
jQuery 判断是否包含在数组中Array[]的方法
2016/08/03 Javascript
详解AngularJS中的表单验证(推荐)
2016/11/17 Javascript
Vue.js父与子组件之间传参示例
2017/02/28 Javascript
jQuery实现的简单前端搜索功能示例
2017/10/28 jQuery
详解vue 数组和对象渲染问题
2018/09/21 Javascript
NVM安装nodejs的方法实用步骤
2019/01/16 NodeJs
JS实现li标签的删除
2019/04/12 Javascript
echarts大屏字体自适应的方法步骤
2019/07/12 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
uni-app实现点赞评论功能
2019/11/25 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
JS实现购物车基本功能
2020/11/08 Javascript
在Django框架中设置语言偏好的教程
2015/07/27 Python
python django事务transaction源码分析详解
2017/03/17 Python
利用TensorFlow训练简单的二分类神经网络模型的方法
2018/03/05 Python
使用python turtle画高达
2020/01/19 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形
2013/01/09 HTML / CSS
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
SQL面试题
2013/12/09 面试题
学生爱国演讲稿
2014/01/14 职场文书
质量标语大全
2014/06/12 职场文书
幼儿园园长安全责任书
2015/05/08 职场文书
摩登时代观后感
2015/06/03 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
2016年读书月活动总结范文
2016/04/06 职场文书
2019年教师节:送给所有老师的祝福语
2019/09/05 职场文书
Java 在生活中的 10 大应用
2021/11/02 Java/Android