2016-11-04 9 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 
関連する問題