ホームページ >バックエンド開発 >Python チュートリアル >複数の Pandas DataFrame 列に関数を要素ごとに適用するにはどうすればよいですか?
問題:
複数の列を持つ関数と Pandas DataFrame が与えられた場合、関数を要素ごとに、対応する値の各ペアに適用するにはどうすればよいですか? columns?
解決策:
Pandas のラムダ関数と apply メソッドを使用してこれを達成する効率的な方法があります:
def get_sublist(sta, end): return mylist[sta:end+1] df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)
これは適用されます「col_1」列と「col_2」列の値を次のように使用して、DataFrame の各行に get_sublist 関数を実行します。入力。結果は、計算されたサブリストを含む新しい列 'col_3' です。
使用法:
次の例を考えてみましょう:
df = pd.DataFrame({'ID':['1','2','3'], 'col_1': [0,2,3], 'col_2':[1,4,5]}) mylist = ['a','b','c','d','e','f'] # Apply the function and create a new column df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1) print(df)
出力:
ID col_1 col_2 col_3 0 1 0 1 ['a', 'b'] 1 2 2 4 ['c', 'd', 'e'] 2 3 3 5 ['d', 'e', 'f']
以上が複数の Pandas DataFrame 列に関数を要素ごとに適用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。