我遇到了numpy.random.shuffle函数的奇怪行为问题。 我将属性添加到实例中,但是在重排后它会被删除。
以下是说明问题的代码:
#I'm making a class of time series.
class TimeSeries(object):
def __init__(self, data):
self.data = data
self.num_points = len(self.data)
def __getitem__(self, key):
return self.data[key]
def __len__(self):
return self.num_points
dataset = [TimeSeries(numpy.random.random((10,3))) for _ in range(100)]
#Add new attribute
for ts in dataset:
ts.weight = 1
dataset[0].weight #returns 1
numpy.random.shuffle(dataset)
dataset[0].weight #'numpy.ndarray' object has no attribute 'weight'
我想保留权重属性,但在随机播放后删除。 我做了一些试验。 我所拥有的是:
随机播放功能发生了什么? 这是一个错误吗?我使用的功能是错误的吗?
答案 0 :(得分:0)
如果您只是想要随机播放主列表,可以使用
import random
random.shuffle(dataset)