次のようなデータフレームがあります。
A B C
foo bar foo bar
bar foo foo bar
各行のすべての要素(または各列のすべての要素)を調べて、次の関数を適用して後続のDFを取得します。
def foo_bar(x):
return x.replace('foo', 'wow')
A B C
wow bar wow bar
bar wow wow bar
各セルに機能を適用できるシンプルなワンライナーはありますか?
これは単純な例なので、関数を適用する以外にこの特定の例を実行する簡単な方法があるかもしれませんが、私が本当に求めているのは、データフレーム内のすべてのセルに関数を適用する方法です。
applymap()
を使用できます。これはあなたの場合に簡潔です。
df.applymap(foo_bar)
# A B C
#0 wow bar wow bar
#1 bar wow wow bar
別のオプションは、関数をベクトル化してから apply
メソッドを使用することです:
import numpy as np
df.apply(np.vectorize(foo_bar))
# A B C
#0 wow bar wow bar
#1 bar wow wow bar