- 解析numpy.random.get_state()和numpy.random.set_state()
- get_state():可理解为设定状态,记录下数组被打乱的操作
- set_state():接收get_state()返回的值,并进行同样的操作
- 一般结合random.shuffle()函数使用
- 将实例与标签两个数组同时打乱,但打乱后,实例与标签任然是一一对应的关系
# -*- coding: utf-8 -*- """ Created on Wed Jul 4 15:30:47 2018 @author: muli """ import numpy as np #random.getstate() #返回对象捕获发生器的当前内部状态。这个对象可以传递给setstate()来恢复状态 #random.setstate(state) #状态应该已经从以前的调用中获得getstate(), #以及setstate()恢复发生器的getstate()被调用的时候的内部状态。 a = np.arange(10) print("a:") print(a) b=['A','B','C','D','E','F','G','H','I','J'] print("b:") print(b) print("----------------------------") state=np.random.get_state() np.random.shuffle(a) print(a) np.random.set_state(state) np.random.shuffle(b) print(b)
结果为:
a:
[0 1 2 3 4 5 6 7 8 9]
b:
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
----------------------------
[8 3 4 1 6 2 9 5 7 0]
['I', 'D', 'E', 'B', 'G', 'C', 'J', 'F', 'H', 'A']