首页 > 解决方案 > 有没有办法将最后一列第一个输出值值作为输入在数据框中的第一列第二个数据中使用其他列数据计算

问题描述

我有一个包含五列数据值的 csv 文件。

五列是['A','B','C','D','time']

这里我的“D”列是输出列,“A”是我的第一列。

所以我想应用“D”列中的值表示的值应该是“A”列中的下一个输入,时间范围为一小时。

每隔一小时,一小时的值就会改变。

我写了一个代码并且值正在显示,但我的最后一列输出不是我的第一列第二个输入。

在这里,我上传了我的 coda 和 csv 文件。谁能帮我解决这个问题。

data = pd.read_csv('data20.csv')
data = pd.DataFrame(data,columns=['time', 'A','B','C','D'])
for i in range(1, len(data)):
    data.loc[i+1,'A'] = data.loc[i, 'D'] + data.loc[i, 'B'] - data.loc[i, 'C']

在我的 csv 文件中,我为行着色。然后在两列中表示相同的颜色意味着在两列中表示相同的值。

在此处输入图像描述

在我的 csv 中,A 列中的第一行表示 63,我的输出是 D 列中的 63。D 列是我想要的输出。然后在 A 列的第二行中,它表示为 0。但我想将先前的输出值(63)作为 A 列输入应用到第二行。然后该值将按 B 列计算并按 C 列减少,然后我想要的输出值为 60 表示在 D 列中。所以像这样的过程还会继续。所以在 A 列中的 0 值替换为 D 列中的先前输出值。

标签: python-3.xpandas

解决方案


IIUC,您需要使用来自 'D': 的值填充列 'A' df['A'] = df['D'].shift(1)

但是,仍然不知道为什么您自己的代码是错误的。


推荐阅读