有没有办法根据前一行中不同列的值替换数据框中一行的值?

时间:2021-04-19 19:32:54

标签: python pandas dataframe

我正在使用如下所示的 Pandas 数据框:

enter image description here

我正在尝试通过执行以下操作来更改“结束仪表”列中的值。每当我看到两行具有重复的“End Meter”值时,我想将顶行的值更改为底行中“End Meter”列的值。在此示例中,我想将第 9 行(第一个)中的“End Meter”从 14820.19 更改为 24.4。

我尝试使用以下代码执行此操作:

counter=0
for row in tabla_combinada['CLASE_TRAZADO']:
    if math.isnan(row):
        tabla_combinada['End Meter'][counter-1] = tabla_combinada['Start Meter'][counter]
        
    counter=counter+1

您可能会觉得奇怪,我在“CLASE_TRAZADO”列中使用基于 Nan 的条件,而不是与比较连续两行的“End Meter”相关的条件。问题是,对于我的数据集,这两个东西在创建方式上是等效的。每当“CLASE_TRAZADO”列中有一个 Nan 时,该行和前一行之间就会重复出现“End Meter”值。

问题是这段代码对我不起作用,因为它没有对实际数据集做任何事情,它只是在处理副本,我想更改我的原始数据集。有人知道这样做的方法吗? 预先非常感谢您。

0 个答案:

没有答案