我有一个数据帧,它有一个时间序列。我需要得到第一行,并添加像我的投资。下一行是另一天,我需要比较以获得值差,这将是我1天的累积值
我的数据:
翻译: 数据=日期
Cota=配额
帕特里莫尼奥液化石油气=净值
目前,我的代码如下所示:
len_fundo = len(self.fundo)
investiment = self.fundo.iloc[0]
dict_accumulated = {}
for value in range(1, len_fundo):
next_line = self.fundo.iloc[value]
dict_accumulated['Data'] = next_line['Data']
dict_accumulated['Acumulado'] = next_line['PL'] - investiment['PL']
investiment = next_line
accumulated = pd.DataFrame(data=dict_accumulated, index=[value])
return accumulated
但结果只是最后一行
Data Acumulado
4 2019-12-06 942355.3
我知道这是因为python dict不接受重复的键;因此,它会替换密钥,但如何解决此问题? 我需要生成一个新的DF与日期和累计值列为每一天
结果将是一个新的DF,如下所示:
您没有提供一个功能完整的示例,因此我无法测试它是否能按预期工作,但您能否只制作
dict_accumulated['Data']
和dict_accumulated['Acumulado']
列表,然后在每个循环中附加到它们?大概是这样的:我认为你应该使用
将循环与
pandas
一起使用通常是不好的做法相关问题 更多 >
编程相关推荐