对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 02 Python
Python切片操作实例分析
Mar 16 Python
Python基础教程之利用期物处理并发
Mar 29 Python
python 通过麦克风录音 生成wav文件的方法
Jan 09 Python
python3 常见解密加密算法实例分析【base64、MD5等】
Dec 19 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
Jan 03 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
Jan 20 Python
Python selenium模拟手动操作实现无人值守刷积分功能
May 13 Python
Python filter过滤器原理及实例应用
Aug 18 Python
如何在向量化NumPy数组上进行移动窗口
May 18 Python
Python类方法总结讲解
Jul 26 Python
实操Python爬取觅知网素材图片示例
Nov 27 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
php5.2时间相差8小时
2007/01/15 PHP
php更新mysql后获取影响的行数发生异常解决方法
2013/03/28 PHP
createElement动态创建HTML对象脚本代码
2008/11/24 Javascript
Javascript Jquery 遍历Json的实现代码
2010/03/31 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
extjs每个组件要设置唯一的ID否则会出错
2014/06/15 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
第十篇BootStrap轮播插件使用详解
2016/06/21 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
2018/03/13 Javascript
使用Vuex实现一个笔记应用的方法
2018/03/13 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
Vue.js中的组件系统
2019/05/30 Javascript
javascript实现图片轮播代码
2019/07/09 Javascript
利用Python命令行传递实例化对象的方法
2016/11/02 Python
Python操作csv文件实例详解
2017/07/31 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
python实现快递价格查询系统
2020/03/03 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
2020/05/18 Python
德国电子产品购物网站:TechInTheBasket德国
2018/12/07 全球购物
IFCHIC台湾:欧美国际设计师品牌
2019/05/18 全球购物
C语言笔试题回忆
2015/04/02 面试题
开放系统互连参考模型
2016/06/29 面试题
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
医学专业个人求职自荐信格式
2013/09/23 职场文书
物业管理工作方案
2014/05/10 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
2014单位领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
写给医院的感谢信
2015/01/22 职场文书
房产公证书格式
2015/01/26 职场文书
公司停电通知
2015/04/15 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书
Mybatis-Plus 使用 @TableField 自动填充日期
2022/04/26 Java/Android
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python