Python,几个变量作为Function的输入

时间:2015-01-02 19:56:21

标签: python list function

我一直试图弄清楚如何为定义的函数循环多个输入 对于我的输入:

#These lists will always be same size
Par= ('cat','dog','pig','mouse')
Var = ('john','mike','stan','steve')

然后我定义了一个函数:

def analysis(par,var):
  if data[par+'_cost'].dtype is np.dtype('O'):
   data[par+'_cost']=data[par+'_cost'].str.replace(',','').astype('float32')

  if data[var+'_payment'].dtype is np.dtype('O'):
    data[var+'_payment']=data[var+'_payment'].str.replace(',','').astype('float32')

 exception = data[(data[par+'_cost']==0) & (data[var+'_payment'] >0)]
 data_new=data[-data['index'].isin(exception['index'])]

我测试了这个小示例函数的部分和前两个if语句的工作,但生成新数据帧的最后两行并没有实际返回数据帧。最后,我希望data_new考虑Par和Var中的每个列标题。

尝试了多个循环:

for par in Par:
  for var in Var:
     analysis(par,var)

使用zip功能(我第一次)失败

for par,var in zip(Par,Var):
     analysis(par,var)

当我试图检查函数是否产生数据帧时,data_new,我想继续得到它实际上并没有创建数据帧的错误。

exception.describe() 
NameError: name 'exception' is not defined

我还是Python新手,大多使用PANDAS,所以我不确定其他功能。以下问题让我知道该怎么做,但并没有解决我的问题:

迭代两个列表:How can I iterate through two lists in parallel?

多处理:Python multiprocessing a function with several inputs

转换几个输入的列表:Pythonic way of converting a list to inputs of a function of several variables

如果我的函数没有被正确定义,任何想法,因为我没有看到输出结果的data_new是因为我写了什么,或者代码是不是通过每个一对值并将函数应用于它。

任何见解一如既往地非常感谢!

0 个答案:

没有答案