对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 socket多线程通讯实例分析(聊天室)
Apr 06 Python
python数据处理实战(必看篇)
Jun 11 Python
对python实现模板生成脚本的方法详解
Jan 30 Python
python游戏开发之视频转彩色字符动画
Apr 26 Python
django的ORM操作 增加和查询
Jul 26 Python
对YOLOv3模型调用时候的python接口详解
Aug 26 Python
python实现把两个二维array叠加成三维array示例
Nov 29 Python
Python调用.NET库的方法步骤
Dec 27 Python
使用Django实现把两个模型类的数据聚合在一起
Mar 28 Python
使用opencv中匹配点对的坐标提取方式
Jun 04 Python
python中24小时制转换为12小时制的方法
Jun 18 Python
python处理json数据文件
Apr 11 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 max_execution_time执行时间问题
2011/07/17 PHP
php中error与exception的区别及应用
2014/07/28 PHP
完美解决thinkphp验证码出错无法显示的方法
2014/12/09 PHP
PHP获取QQ达人QQ信息的方法
2015/03/05 PHP
php基本函数汇总
2015/07/09 PHP
PHP汉字转换拼音的函数代码
2015/12/30 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
2016/04/02 PHP
php blowfish加密解密算法
2016/07/02 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
javascript实现的距离现在多长时间后的一个格式化的日期
2009/10/29 Javascript
纯CSS打造的导航菜单(附jquery版)
2010/08/07 Javascript
javascript重复绑定事件造成的后果说明
2013/03/02 Javascript
JQuery操作单选按钮以及复选按钮示例
2013/09/23 Javascript
JavaScript闭包函数访问外部变量的方法
2014/08/27 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
Bootstrap风格的zTree右键菜单
2017/02/17 Javascript
layui 设置table 行的高度方法
2018/08/17 Javascript
详解jenkins自动化部署vue
2019/05/14 Javascript
[01:14:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Orenda
2014/05/22 DOTA
整理Python最基本的操作字典的方法
2015/04/24 Python
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
Python贪心算法实例小结
2018/04/22 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
Python语法分析之字符串格式化
2019/06/13 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
2020/03/06 Python
构建高效的python requests长连接池详解
2020/05/02 Python
帕克纽约:PARKER NY
2018/12/09 全球购物
行政管理人员精品工作推荐信
2013/11/04 职场文书
行政部主管岗位职责
2013/12/28 职场文书
有关打架的检讨书
2014/01/25 职场文书
建筑安全生产责任书
2014/07/22 职场文书
2014年房产经纪人工作总结
2014/12/08 职场文书
离婚案件答辩状
2015/05/22 职场文书
边城读书笔记
2015/06/29 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书
创业计划书之小型广告公司
2019/10/22 职场文书