如何将对象传递给熊猫数据框中的映射函数

问题描述:

我对此很陌生,因此非常感谢任何帮助。如何将对象传递给熊猫数据框中的映射函数

我想添加一个新的列到数据框中,这是数据框和python对象中的两个值的函数。

的格式如下:

df['col_3'] = list(map(function, df['col_1'], df['col_2'],instance_of_class)) 

def function(a,b,instance): 
    return a + b + instance_of_class.attribute 

其中参数之一必须是类的一个实例。

当我这样做时,python抛出一个错误,该对象是不可迭代的,我假设这是因为它只需要列表传递参数。不确定如何避免这种情况,而不会大幅放慢速度。谢谢!

这可以通过地图或应用来完成,但是由于您刚刚开始,为什么不保持简单?

col_3 = [] 
for c1, c2 in df[['col_1', 'col_2']].values: 
    c3_list.append(function(c1, c2, instance)) 

df['col_3'] = col_3