對(duì)Python random模塊打亂數(shù)組順序的實(shí)例講解
在我們使用一些數(shù)據(jù)的過程中,我們想要打亂數(shù)組內(nèi)數(shù)據(jù)的順序但不改變數(shù)據(jù)本身,可以通過改變索引值來實(shí)現(xiàn),也就是將索引值重新隨機(jī)排列,然后生成新的數(shù)組。功能主要由python中random模塊的sample()函數(shù)實(shí)現(xiàn)。
sample(population, k) method of random.Random instance Chooses k unique random elements from a population sequence or set.
下面的代碼實(shí)現(xiàn)的是打亂iris數(shù)據(jù),iris數(shù)據(jù)是網(wǎng)上下載的csv格式文件,相信大家不陌生的了,原始數(shù)據(jù)是三種鳶尾(iris)順序排列的,三種花分別是:setosa,versicolor 和 virginica ,記錄的數(shù)據(jù)有SepalLengthCm(花萼長度), SepalWidthCm(花萼寬度), PetalLengthCm(花瓣長度), PetalWidthCm (花瓣寬度)
在做聚類分析的時(shí)候曾經(jīng)用到過iris數(shù)據(jù),當(dāng)然,如果安裝了scikit learn 模塊的話,可以通過
from sklearn import datasets iris = datasets.load_iris()
獲取
參考鏈接:http://scikit-learn.org/stable/auto_examples/datasets/plot_iris_dataset.html
下面的程序?qū)崿F(xiàn)打亂iris的數(shù)據(jù)順序:
import pandas as pd import random as rd # 導(dǎo)入random模塊,使用里面的sample函數(shù) 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] # 打亂順序,這里只選取了花萼長度和寬度這兩個(gè)特征值
2017/7/10 updated
打亂順序的方法還可以使用random.shuffle(iterable),這樣會(huì)直接改變iterable的順序,shuffle 是洗牌的意思,顧名思義,需要注意的是random.shufle()函數(shù)沒有返回值,如果寫成
mylist = random.shuffle(list1)
將不會(huì)得到任何結(jié)果
以上這篇對(duì)Python random模塊打亂數(shù)組順序的實(shí)例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
對(duì)python中for、if、while的區(qū)別與比較方法
今天小編就為大家分享一篇對(duì)python中for 、if、 while的區(qū)別與比較方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06Python實(shí)現(xiàn)平行坐標(biāo)圖的兩種方法小結(jié)
今天小編就為大家分享一篇Python實(shí)現(xiàn)平行坐標(biāo)圖的兩種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07python實(shí)戰(zhàn)之利用pygame實(shí)現(xiàn)貪吃蛇游戲(一)
這篇文章主要介紹了python實(shí)戰(zhàn)之利用pygame實(shí)現(xiàn)貪吃蛇游戲,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好的幫助喲,需要的朋友可以參考下2021-05-05復(fù)化梯形求積分實(shí)例——用Python進(jìn)行數(shù)值計(jì)算
今天小編就為大家分享一篇復(fù)化梯形求積分實(shí)例——用Python進(jìn)行數(shù)值計(jì)算,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11python刪除列表元素的三種方法(remove,pop,del)
這篇文章主要介紹了python刪除列表元素的三種方法(remove,pop,del),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python常用的內(nèi)置序列結(jié)構(gòu)(列表、元組、字典)學(xué)習(xí)筆記
序列指元素排成一列的數(shù)據(jù)結(jié)構(gòu),Python中有l(wèi)ist列表而沒有默認(rèn)內(nèi)置array數(shù)組,以下我們來整理一下Python常用的內(nèi)置序列結(jié)構(gòu)(列表、元組、字典)學(xué)習(xí)筆記2016-07-07