Issue
I can use .map(func)
on any column in a df, like:
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)
I could also:
df['a'], df['b'] = df['a'].map(lambda x: x > 1), df['b'].map(lambda x: x > 1)
Is there a more pythonic way to apply a function to all columns or the entire frame (without a loop)?
Solution
If I understand you right, you're looking for the applymap method.
>>> 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
Answered By - BrenBarn
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.