ホームページ > バックエンド開発 > Python チュートリアル > 複数の Pandas データフレーム列に関数を適用して新しい列を作成する方法

複数の Pandas データフレーム列に関数を適用して新しい列を作成する方法

DDD
リリース: 2024-12-07 17:12:13
オリジナル
906 人が閲覧しました

How to Apply a Function to Multiple Pandas Dataframe Columns and Create a New Column?

Pandas データフレームの複数の列に関数を適用する

状況は次のとおりです。関数とデータフレームが定義されており、目標は、関数をデータフレームの 2 つの特定の列に適用して、新しい列を生成することです。ただし、この関数で apply メソッドを使用しようとすると、エラーが発生します。

この問題に対処するには、次のような複数のアプローチがあります。

列名を使用したラムダ式

簡潔で読みやすい解決策は、apply 内でラムダ式を使用することです。メソッド:

df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)
ログイン後にコピー

このアプローチでは、数値インデックスの代わりに列名を直接利用するため、エラーが発生しにくくなります。

サンプル データを使用した例

サンプル データを考えてみましょう:

df = pd.DataFrame({'ID':['1', '2', '3'], 'col_1': [0, 2, 3], 'col_2':[1, 4, 5]})
mylist = ['a', 'b', 'c', 'd', 'e', 'f']
ログイン後にコピー

前のコードを実行すると、新しいコードが生成されます。目的の結果を含む列、col_3:

  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]
ログイン後にコピー

標準以外の列名の角かっこ

列名にスペースが含まれているか、既存のデータフレーム属性と一致する場合、角かっこを使用できます:

df['col_3'] = df.apply(lambda x: f(x['col 1'], x['col 2']), axis=1)
ログイン後にコピー

以上が複数の Pandas データフレーム列に関数を適用して新しい列を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート