random中的 get_state()和set_state()

numpy.random.get_state():保存状态,记录下数组被打乱的操作(数组如何被打乱的)
numpy.random.set_state():接收get_state()返回的值,按照get_state()打乱的方式对新数组进行同样的操作
可结合random.shuffle()函数使用,将实例与标签两个数组同时打乱,但打乱后,实例与标签任然是一一对应的关系
 

import numpy as np

train_data = [1, 2, 3, 4, 5, 6]
train_label = ['a', 'b', 'c', 'd', 'e', 'f']

#步骤1.记录当前打乱操作状态
cur_state=np.random.get_state()
# 步骤2.打乱序列a
np.random.shuffle(train_data)
# 步骤3.设定新的打乱操作状态
np.random.set_state(cur_state)
# 步骤4.打乱序列b
np.random.shuffle(train_label)
print(train_data)           #[6, 3, 1, 2, 5, 4]

print(train_label)          #['f', 'c', 'a', 'b', 'e', 'd']
发布了109 篇原创文章 · 获赞 22 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_42233538/article/details/101725316