Pandas データフレームの複数の列に関数を適用する
Pandas データフレームの複数の列に関数を要素ごとに適用するのは一般的なタスクです。この例では、2 つの特定の列 'col_1' と 'col_2' に関数を適用して、新しい列 'col_3' を作成する方法を示します。
まず、適用する関数を定義します。この場合、2 つの引数 sta と end を取る get_sublist があります。この関数は、入力引数に基づいて事前定義されたリスト mylist のサブリストを返すように設計されています。
次に、操作する列を含む Pandas DataFrame (df) を作成します。列に関数に適したデータ型があることを確認してください。
関数を複数の列に適用するには、Pandas の apply 関数を使用します。この関数は関数を受け取り、それを DataFrame の各行に適用します。行全体に関数を適用するには、axis 引数を指定する必要があります。
ただし、apply 関数を位置引数とともに使用すると、エラーが発生する可能性があります。これを解決するには、適用する引数として匿名関数 (ラムダ関数とも呼ばれます) を使用します。ラムダ関数は、名前を使用して現在の行の列値にアクセスできます。
コードは次のとおりです。
df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)
このコードは、次の結果を含む新しい列 'col_3' を作成します。 get_sublist 関数を「col_1」と「col_2」の各行に適用します。ラムダ関数は、正しい引数が get_sublist 関数に渡されることを保証します。
その結果、目的の出力を持つ DataFrame が取得されます。ここで、'col_3' の各行には、対応する値に基づくサブリストが含まれます。 'col_1' と 'col_2' 内。
以上が複数の Pandas DataFrame 列に関数を適用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。