🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

568閲覧

python applyについて

KKKM

総合スコア16

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/02/21 14:33

編集2021/02/21 15:32

apply関数の使い方として
行列cにたいして関数fを適用する場合
def f(a)
a=a+1
c[‘1’].apply(f)のような形で行うと思います。

この時fの引数には
c[‘1’]が取られます。

まずここが納得いきませんがそういう関数なのでしょう、
質問したいのは
関数fで行列以外の引数を渡す方法です。
apply関数の使い方についてしたいのは様々なサイトを拝見しましたが、別の引数を加える方法は見つかりませんでした。

def f(a,b)
a=a+1
print(b)

c[‘1’].apply(f(b))

イメージとしては↑のようなものを実現したいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/02/22 00:01 編集

削除
meg_

2021/02/21 15:59

「行列」とはnumpy.matrixのことでしょうか?
Daregada

2021/02/21 17:32

> まずここが納得いきませんが という記述から、関数オブジェクトそのものを引数として渡すことと、関数の実行結果を引数に渡すことの違いを理解していないのではないかという疑いがある。
guest

回答1

0

pandasデータフレームのapplyと仮定して回答します。

pandas.DataFrame.applyはキーワード引数としてargsおよびkwargsを取ります。

argstuple

Positional arguments to pass to func in addition to the array/series.

**kwds

Additional keyword arguments to pass as keywords arguments to func.
pandas.DataFrame.apply — pandas 1.2.2 documentation

これを利用して、

python

1c['1'].apply(f, args=(b, ))

のように書くことが可能でしょう。

別の方法としては、二つ引数のあるfとは別に、bを固定値にして引数を一つにした関数を定義する方法が考えられます。この場合はlambda式が活用できるでしょう。

python

1c['1'].apply(lambda a: f(a, b))

投稿2021/02/22 11:33

hayataka2049

総合スコア30935

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問