对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中的标识运算符
May 14 Python
Python实现获取域名所用服务器的真实IP
Oct 25 Python
python模块简介之有序字典(OrderedDict)
Dec 01 Python
在python win系统下 打开TXT文件的实例
Apr 29 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
Aug 05 Python
基于python实现从尾到头打印链表
Nov 02 Python
多个python文件调用logging模块报错误
Feb 12 Python
python设置代理和添加镜像源的方法
Feb 14 Python
python生成任意频率正弦波方式
Feb 25 Python
使用python处理题库表格并转化为word形式的实现
Apr 14 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
May 22 Python
openstack中的rpc远程调用的方法
Jul 09 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求正负数数组中连续元素最大值示例
2014/04/11 PHP
PHP中文乱码解决方案
2015/03/05 PHP
js实现的网站首页随机公告随机公告
2007/03/14 Javascript
js 提交和设置表单的值
2008/12/19 Javascript
快速排序 php与javascript的不同之处
2011/02/22 Javascript
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
JS控制一个DIV层在指定时间内消失的方法
2014/02/17 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
JS合并数组的几种方法及优劣比较
2014/09/19 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
关于function类中定义变量this的简单说明
2016/05/28 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
2016/11/24 Javascript
Javascript 实现计算器时间功能详解及实例(二)
2017/01/08 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
2020/10/26 Javascript
js仿网易表单及时验证功能
2017/03/07 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
修改 bootstrap table 默认detailRow样式的实例代码
2017/07/21 Javascript
nodejs结合Socket.IO实现的即时通讯功能详解
2018/01/12 NodeJs
vue拖拽组件使用方法详解
2018/12/01 Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
2018/12/29 jQuery
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
Python机器学习之K-Means聚类实现详解
2018/02/22 Python
python 查找文件名包含指定字符串的方法
2018/06/05 Python
python多行字符串拼接使用小括号的方法
2020/03/19 Python
python3.6的venv模块使用详解
2018/08/01 Python
实例讲解python中的协程
2018/10/08 Python
pytorch中图像的数据格式实例
2020/02/11 Python
tensorflow中tf.reduce_mean函数的使用
2020/04/19 Python
CSS3绘制超炫的上下起伏波动进度加载动画
2016/04/21 HTML / CSS
说说在weblogic中开发消息Bean时的persistent与non-persisten的差别
2013/04/07 面试题
大学生毕业自荐信
2013/10/10 职场文书
《三个小伙伴》教学反思
2014/04/11 职场文书
专家推荐信怎么写
2015/03/25 职场文书
具结保证书范本
2015/05/11 职场文书
如何通过cmd 连接阿里云服务器
2022/04/18 Servers