我需要从CSV文件中提取一行,作为强化学习类环境中的观察元组。我首先使用了生成器函数,但它既没有检索到任何数据,其次它会迭代地提供所有数据,这与我的问题需求不符。此外,我需要当前选定的观察(CSV行)在类环境中的多个方法中使用,例如在奖励函数中。
关于如何做到这一点的任何想法或建议将不胜感激。谢谢
class Environment1: def __init__(self, data, max_ticks=300): self.data = data self.application_latency=1342 self.reward = 0 #self.done = False self.MAX_TICKS = max_ticks self.episode_over = False def step(self, act): self.take_action(action) reward = self.get_reward() ob = self.get_state() return ob, reward, self.episode_over #return ob, reward, self.done # obs, reward, done def get_state(self): """获取观察。它是一个元组 """ lst = [tuple(x) for x in data.values] def gen(last): for i in last: print(yield i) #observation_space= yield i #ob = (observation_space.Edge_Latency, observation_space.Cloud_latency ) #print(ob) #return ob
回答:
根据我从您的问题中了解到的,您希望从CSV数据中创建一个观察元组的生成器。具体来说,您希望将包含edge latency
和cloud latency
列的每个元组传递给另一个函数。我编写了一些示例代码,这些代码将为您的数据的每一行创建一个元组列表。