web-dev-qa-db-ja.com

データフレームの各行に関数を適用します

以下を実装するためのよりエレガントな方法は何ですか?

関数を適用したい:my_functionデータフレームの各行に関数のパラメーターが含まれているデータフレームへ。次に、関数の出力をデータフレーム行に書き戻します。

results = pd.DataFrame()
for row in input_panel.iterrows():
    (index, row_contents) = row
    row_contents['target']  = my_function(*list(row_contents))
    results = pd.concat([results, row_contents])
8
Lisa

値を繰り返し処理し、最後にDataFrameを作成します。

results = pd.DataFrame([my_function(*x) for x in input_panel.values.tolist()])

あまり推奨されない方法は、DataFrame.applyを使用することです。

results = input_panel.apply(lambda x: my_function(*x))

applyの唯一の利点は、入力が少ないことです。

9
cs95