ホームページ >バックエンド開発 >Python チュートリアル >複数の Pandas DataFrame 列に関数を要素ごとに適用するにはどうすればよいですか?

複数の Pandas DataFrame 列に関数を要素ごとに適用するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-04 01:15:10324ブラウズ

How Can I Apply a Function Element-Wise to Multiple Pandas DataFrame Columns?

Pandas: 複数の列に関数を適用する

問題:

複数の列を持つ関数と 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。