ホームページ >バックエンド開発 >Python チュートリアル >Pandas のシリーズ操作のために DataFrame.apply() で引数を渡す方法は?
シリーズ アプリケーションでの引数の使用
パンダの DataFrame.apply() メソッドは、関数をオブジェクトの各要素に適用するためによく使用されます。シリーズ。ただし、以前のバージョンの pandas は、関数に引数を直接渡すことをサポートしていませんでした。これにより、代替方法や実行可能な回避策はあるのかという疑問が生じました。
ドキュメントで強調されているように、パンダの更新バージョンでは実際に apply() メソッドに引数を渡すことができます。次の構文を使用できます。
<code class="python">my_series.apply(your_function, args=(2,3,4), extra_kw=1)</code>
引数はシリーズの要素の後に配置され、関数適用の柔軟性が向上します。
古い Pandas バージョンの回避策
古いバージョンの pandas の場合、代替アプローチは functools.partial メソッドを使用することです。このユーティリティは、事前にバインドされた特定の引数を使用して新しい関数を構築します。例:
<code class="python">import functools import operator add_3 = functools.partial(operator.add, 3) add_3(2) # Outputs 5</code>
さらに、キーワード引数を事前バインド関数に渡すこともサポートされています:
<code class="python"># Add 5 to every element of the series my_series.apply((lambda x: your_function(a, b, c, d, ..., x)))</code>
結論
while pandas の古いバージョンでは、引数を持つ関数をシリーズに適用するための回避策が必要でしたが、更新によりこの機能の直接サポートが導入されました。推奨されるアプローチは、古いバージョンでは functools.partial メソッドを利用し、新しいバージョンでは改良された apply() メソッドを利用することです。
以上がPandas のシリーズ操作のために DataFrame.apply() で引数を渡す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。