47

.map(func)次のように、df の任意の列で使用できます。

df=DataFrame({'a':[1,2,3,4,5,6],'b':[2,3,4,5,6,7]})

df['a']=df['a'].map(lambda x: x > 1)

私もできます:

df['a'],df['b']=df['a'].map(lambda x: x > 1),df['b'].map(lambda x: x > 1)

すべての列またはフレーム全体 (ループなし) に関数を適用するより Pythonic な方法はありますか?

4

2 に答える 2

84

applymap私があなたを正しく理解しているなら、あなたはその方法を探しています。

>>> print df
   A  B  C
0 -1  0  0
1 -4  3 -1
2 -1  0  2
3  0  3  2
4  1 -1  0
>>> print df.applymap(lambda x: x>1)
       A      B      C
0  False  False  False
1  False   True  False
2  False  False   True
3  False   True   True
4  False  False  False
于 2012-10-05T07:01:18.150 に答える