2016-05-26 13 views
0

私は比較的新しいPythonプログラミングです。私は、obj1と言うpandas DataFrameオブジェクトを持っています。 obj1 ['key']に格納されているレコードに一連の変換を適用する必要があります。 obj1 ['key']に300個のエントリがあり、300個のエントリのそれぞれに対してfunc1、func2、func3を適用し、最終結果をobj1 ['key']に格納する必要があるとします。 以下のように1つの方法があります。同じことをするより良い方法はありますか?パンダに一連の変換を適用するDataFrameオブジェクト

obj1['key']=[func3(func2(func1(item))) for item in obj1['key']] 

この目的のためにPythonジェネレータを使用することはできません。

答えて

2

はい、あなたはDataFrame.apply()

df = df.apply(f1).apply(f2).apply(fn) 
+0

ありがとうございました –

0

デフォルトのメソッドを使用することができ

def recursivator(x, fs): 
    return recursivator(fs[-1](x), fs[:-1]) if len(fs) > 0 else x 

x関数を定義fsは関数のリストである、上で動作しているものです。

df = df.applymap(lambda x: recursivator(x, fs)) 
関連する問題