對Python random模塊打亂數(shù)組順序的實例講解
在我們使用一些數(shù)據(jù)的過程中,我們想要打亂數(shù)組內(nèi)數(shù)據(jù)的順序但不改變數(shù)據(jù)本身,可以通過改變索引值來實現(xiàn),也就是將索引值重新隨機排列,然后生成新的數(shù)組。功能主要由python中random模塊的sample()函數(shù)實現(xiàn)。
sample(population, k) method of random.Random instance Chooses k unique random elements from a population sequence or set.
下面的代碼實現(xiàn)的是打亂iris數(shù)據(jù),iris數(shù)據(jù)是網(wǎng)上下載的csv格式文件,相信大家不陌生的了,原始數(shù)據(jù)是三種鳶尾(iris)順序排列的,三種花分別是:setosa,versicolor 和 virginica ,記錄的數(shù)據(jù)有SepalLengthCm(花萼長度), SepalWidthCm(花萼寬度), PetalLengthCm(花瓣長度), PetalWidthCm (花瓣寬度)

在做聚類分析的時候曾經(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] # 打亂順序,這里只選取了花萼長度和寬度這兩個特征值
2017/7/10 updated
打亂順序的方法還可以使用random.shuffle(iterable),這樣會直接改變iterable的順序,shuffle 是洗牌的意思,顧名思義,需要注意的是random.shufle()函數(shù)沒有返回值,如果寫成
mylist = random.shuffle(list1)
將不會得到任何結(jié)果
以上這篇對Python random模塊打亂數(shù)組順序的實例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python中Task封裝協(xié)程的知識點總結(jié)
在本篇內(nèi)容里小編給大家總結(jié)的是一篇關(guān)于python中Task封裝協(xié)程的知識點總結(jié)內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)下。2021-07-07
Python推導(dǎo)式之字典推導(dǎo)式和集合推導(dǎo)式使用體驗
這篇文章主要為大家介紹了Python推導(dǎo)式之字典推導(dǎo)式和集合推導(dǎo)式使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06
深入學(xué)習(xí)Python+Opencv常用四種圖像處理操作
本文主要介紹了深入學(xué)習(xí)Pytho+OpenCV實現(xiàn)的基本圖像處理操作,例如:改變圖像大小,圖片色彩轉(zhuǎn)換,圖片模糊等,代碼具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以關(guān)注一下2021-11-11
在FastAPI中改變響應(yīng)狀態(tài)碼的兩種方法
FastAPI,顧名思義,是一個快速、現(xiàn)代、高性能的web框架,用于用Python構(gòu)建后端api,響應(yīng)狀態(tài)碼是一個三位數(shù),表示請求的結(jié)果,在這篇簡明的基于示例的博文中,我將向你展示在FastAPI中更改響應(yīng)狀態(tài)代碼的兩種不同方法,需要的朋友可以參考下2025-02-02
Python網(wǎng)絡(luò)編程之ftplib模塊
這篇文章介紹了Python網(wǎng)絡(luò)編程之ftplib模塊,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05
Tensorflow: 從checkpoint文件中讀取tensor方式
今天小編就為大家分享一篇Tensorflow: 從checkpoint文件中讀取tensor方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02

