对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设计足球联赛赛程表程序的思路与简单实现示例
Jun 28 Python
python实现俄罗斯方块
Jun 26 Python
Python assert关键字原理及实例解析
Dec 13 Python
在Pytorch中计算自己模型的FLOPs方式
Dec 30 Python
PyTorch中的padding(边缘填充)操作方式
Jan 03 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
Feb 17 Python
Python使用os.listdir和os.walk获取文件路径
May 21 Python
基于python实现音乐播放器代码实例
Jul 01 Python
Python tkinter之Bind(绑定事件)的使用示例
Feb 05 Python
安装不同版本的tensorflow与models方法实现
Feb 20 Python
解决python3安装pandas出错的问题
May 20 Python
Python编写nmap扫描工具
Jul 21 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.ini中文版
2006/10/09 PHP
Banner程序
2006/10/09 PHP
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
JS实现的生成随机数的4个函数分享
2015/02/11 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
js实现根据身份证号自动生成出生日期
2015/12/15 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
Vue监听数据对象变化源码
2017/03/09 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
React Native之ListView实现九宫格效果的示例
2017/08/02 Javascript
jquery写出PC端轮播图实例
2018/01/26 jQuery
jQuery实现的电子时钟效果完整示例
2018/04/28 jQuery
vue 取出v-for循环中的index值实例
2019/11/09 Javascript
Vue如何获取数据列表展示
2019/12/11 Javascript
十分钟教你上手ES2020新特性
2020/02/12 Javascript
小程序自定义导航栏兼容适配所有机型(附完整案例)
2020/04/26 Javascript
vue 动态添加class,三个以上的条件做判断方式
2020/11/02 Javascript
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
Python中列表(list)操作方法汇总
2014/08/18 Python
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
2016/07/01 Python
python爬取指定微信公众号文章
2018/12/20 Python
Python如何实现机器人聊天
2020/09/10 Python
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
VICHY薇姿美国官方网站:欧洲药房第一的抗衰老品牌
2017/11/22 全球购物
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
某公司C#程序员面试题笔试题
2014/05/26 面试题
教育专业自荐书范文
2013/12/17 职场文书
会计电算化毕业生自荐信
2014/03/03 职场文书
出租房屋协议书
2014/09/14 职场文书
2014年销售工作总结范文
2014/12/01 职场文书
2015年综治宣传月活动总结
2015/03/25 职场文书
2015年收银工作总结范文
2015/04/01 职场文书