从最右边的列开始搜索并向左移动熊猫

数据挖掘 Python 熊猫 擅长
2022-03-14 18:14:06

我对 pandas 很陌生,我正在尝试实现代码以在 excel 电子表格上搜索某些内容。

基本上,最新的价格可以在最右边的名为 的列中找到"final cost",这就是我所需要的。但是,有多个列被命名"final cost"(因为每张发票都在那里过帐)。

我目前拥有的:

def find_most_recent(row_num: int, df) -> float:
    k = -1
    checker = False
    while not checker:
        if df.columns[k] == "final cost":
            if not pd.isnull(df.iloc[row_num, k]):
                checker = True
                return df.loc[row_num, df.columns[k]]
        k -= 1

whererow_num是正在搜索的当前行,并且是正在搜索df的当前数据框。

但是,这只是第一次遇到"final cost". 例如,在以下数据集上:

在此处输入图像描述

我希望回报是 中的价格之一column L,但我却从中获得了价值回报column F

对使用方法有什么建议吗?

1个回答

找到答案,把

if "final cost" in df.columns[k]:

代替

if df.columns[k] = "final cost":

似乎已经修复它