2016-11-04 61 views
0

我對此很陌生,因此非常感謝任何幫助。如何將對象傳遞給熊貓數據框中的映射函數

我想添加一個新的列到數據框中,這是數據框和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拋出一個錯誤,該對象是不可迭代的,我假設這是因爲它只需要列表傳遞參數。不確定如何避免這種情況,而不會大幅放慢速度。謝謝!

回答

0

這可以通過地圖或應用來完成,但是由於您剛剛開始,爲什麼不保持簡單?

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

df['col_3'] = col_3 
相關問題