我已经阅读了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
Run Code Online (Sandbox Code Playgroud)
我想将addOne添加到每个值中df['A'],而不是所有列中.我怎么能这样做DataFrame.apply.
感谢帮助!
su7*_*u7k 29
答案是,
df['A'] = df['A'].map(addOne)
Run Code Online (Sandbox Code Playgroud)
也许你会更好地了解差异的map,applymap,apply.
但如果你坚持使用apply,你可以尝试如下.
def addOne(v):
v['A'] += 1
return v
df.apply(addOne, axis=1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29088 次 |
| 最近记录: |