Pandas:应用一个带有列和变量作为参数的函数

时间:2018-04-28 00:16:02

标签: python python-3.x pandas dataframe apply

我正在尝试向数据帧应用一个具有多个参数的函数,其中两个需要分配给数据帧的行,一个是变量(一个简单的数字)。

类似线程的变体适用于行:(与原始函数相比,所有函数都过于简单)

import pandas as pd

dict={'a':[-2,5,4,-6], 'b':[4,4,5,-8]}

df=pd.DataFrame (dict)
print(df)

def DummyFunction (row):
    return row['a']*row['b']
#this works:
df['Dummy1']=df.apply(DummyFunction, axis=1)

但是我如何应用以下变体,其中我的函数接受另一个参数(固定变量)?我似乎无法在apply方法中传递它:

def DummyFunction2(row, threshold):
    return row['a']*row['b']*threshold
# where threshold will be assigned to a number?
# I don't seem to find a viable option to fill the row argument below:
# df['Dummy2']=df.apply(DummyFunction2(row,1000), axis=1)

感谢您的帮助!

1 个答案:

答案 0 :(得分:5)

您可以将附加变量作为命名参数直接传递给mapStateToProps

import { getFormMeta } from 'redux-form';

function mapStateToProps(state) {
  return {
    errorMessage: state.auth.error,
    meta: getFormMeta('signup')(state)
  };
}