pandas DataFrame, how to apply function to a specific column?
我已经阅读了数据框架的文档。应用
DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds)?
Applies function along input axis of DataFrame.
那么,如何将函数应用于特定的列呢?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | In [1]: import pandas as pd In [2]: data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]} In [3]: df = pd.DataFrame(data) In [4]: df Out[4]: A B C 0 1 4 7 1 2 5 8 2 3 6 9 In [5]: def addOne(v): ...: v += 1 ...: return v ...: In [6]: df.apply(addOne, axis=1) Out[6]: A B C 0 2 5 8 1 3 6 9 2 4 7 10 |
我想给EDOCX1中的每个值加一个,不是所有列。我怎么能用
谢谢你的帮助!
答案是,
1 | df['A'] = df['A'].map(addOne) |
也许你最好了解一下
但是如果你坚持使用
1 2 3 4 5 | def addOne(v): v['A'] += 1 return v df.apply(addOne, axis=1) |
一个简单的方法是:
1 | df['A'] = df['A'].apply(lambda x: x+1) |