当函数期望数据框行python时使用apply()

时间:2018-11-09 22:07:40

标签: python dataframe apply

我的函数正在根据数据框行返回一个值

def function(df, row):
    if df['A'][row]!='value':
        return np.nan
    else:
        return df['B'][row]

我需要使用apply来调用它。但是,我不知道如何将行传递给函数。我知道有更有效的方法可以做到这一点,但是说明很清楚(是的,这是一个类分配)

我尝试了apply()lambda的多种变体。什么都没用。最近的尝试是这样,但是期望有一个行参数。

df.apply(hourly_wage, axis=1)

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您尝试过:df.apply(lambda row: function(row), axis=1)
但是您必须更改功能:

def function(row):
    if row['A']!='value':
        return np.nan
    else:
        return row['B']