对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中Flask框架简单入门实例
Mar 21 Python
Python中字典映射类型的学习教程
Aug 20 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
Jan 20 Python
使用rst2pdf实现将sphinx生成PDF
Jun 07 Python
用python实现的线程池实例代码
Jan 06 Python
python去掉空白行的多种实现代码
Mar 19 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
Feb 11 Python
Python 实现打印单词的菱形字符图案
Apr 12 Python
基于Python中random.sample()的替代方案
May 23 Python
python中如何写类
Jun 29 Python
Python通过类的组合模拟街道红绿灯
Sep 16 Python
Python常用GUI框架原理解析汇总
Dec 07 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之字符串变相相减的代码
2007/03/19 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
2010/07/22 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
实例详解jQuery表单验证插件validate
2016/01/18 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
2016/12/11 Javascript
详解vuex 中的 state 在组件中如何监听
2017/05/23 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
clipboard.js在移动端复制失败的解决方法
2018/06/13 Javascript
vue 中 beforeRouteEnter 死循环的问题
2019/04/23 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
2019/11/09 Javascript
vue组件系列之TagsInput详解
2020/05/14 Javascript
vue select 获取value和lable操作
2020/08/28 Javascript
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
python操作gmail实例
2015/01/14 Python
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
2019/08/13 Python
Python GUI库PyQt5样式QSS子控件介绍
2020/02/25 Python
python 最简单的实现适配器设计模式的示例
2020/06/30 Python
python dict如何定义
2020/09/02 Python
Troy-Bilt官网:草坪割草机、吹雪机、分蘖机等
2019/02/19 全球购物
JAVA中的关键字有什么特点
2014/03/07 面试题
自我鉴定范文
2013/11/10 职场文书
师范类求职信
2014/06/21 职场文书
社区活动策划方案
2014/08/21 职场文书
咖啡店创业计划书范文
2014/09/15 职场文书
工程服务质量承诺书
2015/04/29 职场文书
治庸问责工作总结
2015/08/11 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书
导游词之清晏园
2019/11/22 职场文书
SQLServer中exists和except用法介绍
2021/12/04 SQL Server
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫
深入理解 Golang 的字符串
2022/05/04 Golang