【发布时间】:2016-03-25 03:04:14
【问题描述】:
我已经阅读了DataFrame.apply的文档
DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds)¶ 沿 DataFrame 的输入轴应用函数。
那么,如何将函数应用于特定列?
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
我想将一个添加到df['A'] 中的每个值,而不是所有列。我怎么能用DataFrame.apply做到这一点。
感谢您的帮助!
【问题讨论】:
-
尽量避免使用
apply。如果您不确定是否需要使用它,则可能不需要。我建议看看When should I ever want to use pandas apply() in my code?。 -
@coldspeed 这很好,很好的问题和深入的回答。