对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 相关文章推荐
使用IPython来操作Docker容器的入门指引
Apr 08 Python
scrapy爬虫完整实例
Jan 25 Python
python爬取淘宝商品详情页数据
Feb 23 Python
如何用python整理附件
May 13 Python
对Python3 goto 语句的使用方法详解
Feb 16 Python
PyCharm下载和安装详细步骤
Dec 17 Python
python实现简单飞行棋
Feb 06 Python
Python实现结构体代码实例
Feb 10 Python
用Python生成HTML表格的方法示例
Mar 06 Python
使用PyQt5实现图片查看器的示例代码
Apr 21 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
Jun 30 Python
pycharm如何使用anaconda中的各种包(操作步骤)
Jul 31 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 面向对象 PHP5 中的常量
2010/05/05 PHP
PHP开发中四种查询返回结果分析
2011/01/02 PHP
如何突破PHP程序员的技术瓶颈分析
2011/07/17 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
2015/03/19 PHP
PHP实现的ID混淆算法类与用法示例
2018/08/10 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
js判断ie版本号的简单实现代码
2014/03/05 Javascript
js漂浮广告实现代码
2015/08/15 Javascript
javascript实现自动填写表单实例简析
2015/12/02 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
JavaScript html5 canvas绘制时钟效果(二)
2016/03/27 Javascript
最常见的左侧分类菜单栏jQuery实现代码
2016/11/28 Javascript
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
使用pkg打包Node.js应用的方法步骤
2018/10/19 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
2018/11/02 Javascript
深入浅析vue中cross-env的使用
2019/09/12 Javascript
vue3.0中使用element的完整步骤
2021/03/04 Vue.js
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
Django中对数据查询结果进行排序的方法
2015/07/17 Python
python 用opencv调用训练好的模型进行识别的方法
2018/12/07 Python
python实现简单颜色识别程序
2020/02/19 Python
python中slice参数过长的处理方法及实例
2020/12/15 Python
高山背包:High Sierra
2017/11/23 全球购物
英国第一的市场和亚马逊替代品:OnBuy
2019/03/16 全球购物
工程力学硕士生的自我评价范文
2013/11/16 职场文书
开业庆典邀请函
2014/01/08 职场文书
干部考核评语
2014/04/29 职场文书
世界读书日的活动方案
2014/08/20 职场文书
2014党委书记四风对照检查材料思想汇报
2014/09/21 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书
读《瓦尔登湖》有感:每个人都需要一个瓦尔登湖
2019/10/17 职场文书
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
2021/05/10 HTML / CSS
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server
golang生成vcf通讯录格式文件详情
2022/03/25 Golang