最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 實(shí)現(xiàn)以相同規(guī)律打亂多組數(shù)據(jù)

 更新時(shí)間:2021年03月11日 11:44:31   作者:DX_ByYourself  
這篇文章主要介紹了python 實(shí)現(xiàn)以相同規(guī)律打亂多組數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

在深度學(xué)習(xí)的數(shù)據(jù)訓(xùn)練過(guò)程中,雖然tensorflow和pytorch都會(huì)自帶打亂數(shù)據(jù)進(jìn)行訓(xùn)練的方法,但是當(dāng)我們自己生成數(shù)據(jù),或者某些情況下依然要自己手動(dòng)打亂順序。

這里介紹如何以相同規(guī)律打亂X,Y兩組數(shù)據(jù),多組數(shù)據(jù)相同道理。

第一種:(X,Y是list的格式,不是array)

產(chǎn)生相同的種子(seed)打亂順序:

import random
seed =50
x_batch, y_batch,start_num = train_load_order_sharp_5_9(image_list, num, start_num,length)
#加載我所有的數(shù)據(jù),這里想x_batch,Y_batch是list的格式,要注意
random.seed(seed)
random.shuffle(x_batch)
random.seed(seed)#一定得重復(fù)在寫一遍,和上面的seed要相同,不然y_batch和x_batch打亂順序會(huì)不一樣
random.shuffle(y_batch)

第二種:zip的方式,更加高效:(同第一種,X,Y是list的格式,不是array)

from random import shuffle
shuffle_data=True
if shuffle_data:
  c = list(zip(x_batch,y_batch))
  shuffle(c)
  x_batch,y_batch = zip(*c)

舉個(gè)例子:

>>> a=[1,2,3,4]
>>> b=[11,22,33,44]
>>> c=list(zip(a,b))
>>> shuffle(c)
>>> a,b = zip(*c)
>>> a
(2, 4, 3, 1)
>>> b
(22, 44, 33, 11)
#這里就讓a,b以相同的規(guī)律被打亂

補(bǔ)充:python打亂列表的方法解決問(wèn)題_Python 如何隨機(jī)打亂列表(List)排序

現(xiàn)在有一個(gè)list:[1,2,3,4,5,6],我需要把這個(gè)list在輸出的時(shí)候,是以一種隨機(jī)打亂的形式輸出。

專業(yè)點(diǎn)的術(shù)語(yǔ):將一個(gè)容器中的數(shù)據(jù)每次隨機(jī)逐個(gè)遍歷一遍。

注意:不是生成一個(gè)隨機(jī)的list集。

環(huán)境:

Python 3.6

解決方案:

方案一:

有人可能會(huì)通過(guò)Random內(nèi)置函數(shù),來(lái)間接實(shí)現(xiàn)想要的結(jié)果。但是這種方式,太原始,也不夠優(yōu)雅,而且有種重復(fù)造輪子的嫌疑。這里我就不貼我自己通過(guò)random實(shí)現(xiàn)的效果了。

方案二:

Random中有一個(gè)random.shuffle()方法提供了完美的解決方案。代碼如下:

x = [1,2,3,4,5,6]
random.shuffle(x)
print(x)

輸出結(jié)果:

第一次輸出內(nèi)容:[6, 5, 1, 3, 2, 4]

第二次輸出內(nèi)容:[6, 1, 3, 5, 2, 4]

第三次輸出內(nèi)容:[5, 3, 1, 2, 4, 6]

從結(jié)果我們可以看出,輸出是完全隨機(jī)的,代碼量就兩行,不需要random,不需要for循環(huán)。

源碼解讀:

def shuffle(self, x, random=None):
"""Shuffle list x in place, and return None.

原位打亂列表,不生成新的列表。

Optional argument random is a 0-argument

function returning a random float in [0.0, 1.0);

if it is the default None,

the standard random.random will be used.

可選參數(shù)random是一個(gè)從0到參數(shù)的函數(shù),返回[0.0,1.0)中的隨機(jī)浮點(diǎn);

如果random是缺省值None,則將使用標(biāo)準(zhǔn)的random.random()。

"""
if random is None:
randbelow = self._randbelow
for i in reversed(range(1, len(x))):
# pick an element in x[:i+1] with which to exchange x[i]
j = randbelow(i + 1)
x[i], x[j] = x[j], x[i]
else:
_int = int
for i in reversed(range(1, len(x))):
# pick an element in x[:i+1] with which to exchange x[i]
j = _int(random() * (i + 1))
x[i], x[j] = x[j], x[i]

注意 :

從代碼的注釋,我們看到random.shuffle()是對(duì)原list做修改,如果需要保留原list,請(qǐng)注意這個(gè)細(xì)節(jié)。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • pandas如何解決excel科學(xué)計(jì)數(shù)法問(wèn)題

    pandas如何解決excel科學(xué)計(jì)數(shù)法問(wèn)題

    這篇文章主要介紹了pandas如何解決excel科學(xué)計(jì)數(shù)法問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • python 實(shí)現(xiàn)長(zhǎng)數(shù)據(jù)完整打印方案

    python 實(shí)現(xiàn)長(zhǎng)數(shù)據(jù)完整打印方案

    這篇文章主要介紹了python 實(shí)現(xiàn)長(zhǎng)數(shù)據(jù)完整打印方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Python中scrapy下載保存圖片的示例

    Python中scrapy下載保存圖片的示例

    在日常爬蟲練習(xí)中,我們爬取到的數(shù)據(jù)需要進(jìn)行保存操作,在scrapy中我們可以使用ImagesPipeline這個(gè)類來(lái)進(jìn)行相關(guān)操作,本文主要介紹了scrapy下載保存圖片,感興趣的可以了解一下
    2021-07-07
  • 關(guān)于使用python對(duì)mongo多線程更新數(shù)據(jù)

    關(guān)于使用python對(duì)mongo多線程更新數(shù)據(jù)

    這篇文章主要介紹了關(guān)于使用python對(duì)mongo多線程更新數(shù)據(jù),文中提供了詳細(xì)的代碼說(shuō)明,實(shí)際使用時(shí),需要根據(jù)具體情況進(jìn)行調(diào)整和優(yōu)化,需要的朋友可以參考下
    2023-04-04
  • PyQt5結(jié)合QtDesigner實(shí)現(xiàn)文本框讀寫操作

    PyQt5結(jié)合QtDesigner實(shí)現(xiàn)文本框讀寫操作

    本文將結(jié)合實(shí)例代碼,介紹PyQt5結(jié)合QtDesigner實(shí)現(xiàn)文本框讀寫操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • pytorch 限制GPU使用效率詳解(計(jì)算效率)

    pytorch 限制GPU使用效率詳解(計(jì)算效率)

    這篇文章主要介紹了pytorch 限制GPU使用效率詳解(計(jì)算效率),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • python 安全地刪除列表元素的方法

    python 安全地刪除列表元素的方法

    這篇文章主要介紹了python 安全地刪除列表元素的方法,分享的方法有 創(chuàng)建新列表,過(guò)濾元素和列表副本上迭代,下面相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-03-03
  • matplotlib部件之矩形選區(qū)(RectangleSelector)的實(shí)現(xiàn)

    matplotlib部件之矩形選區(qū)(RectangleSelector)的實(shí)現(xiàn)

    這篇文章主要介紹了matplotlib部件之矩形選區(qū)(RectangleSelector)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • python 簡(jiǎn)單的繪圖工具turtle使用詳解

    python 簡(jiǎn)單的繪圖工具turtle使用詳解

    這篇文章主要介紹了python 簡(jiǎn)單的繪圖工具turtle使用詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • 查看django版本的方法分享

    查看django版本的方法分享

    今天小編就為大家分享一篇查看django版本的方法分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05

最新評(píng)論

奉节县| 淅川县| 宁武县| 米林县| 孝昌县| 武定县| 金塔县| 上饶市| 甘孜| 内丘县| 卢氏县| 仁化县| 沙田区| 金山区| 鄂伦春自治旗| 五原县| 抚宁县| 阿拉善右旗| 周至县| 西宁市| 霍林郭勒市| 黄浦区| 固始县| 洪泽县| 汉阴县| 山阴县| 康马县| 安塞县| 大荔县| 桂东县| 当涂县| 定州市| 南溪县| 淅川县| 格尔木市| 永善县| 凤山县| 贵港市| 呼和浩特市| 彭阳县| 松江区|