我有一个数据框,我想根据现有列的某些处理添加一个新列。
import pandas as pd
def func_processcol(l):
processedl=l+1
return processedl
df = pd.DataFrame({'a':['l1','l2','l3','l4','l5','l6'],
'b':['1','2','2','1','2','2']})
现在,我想通过传递列a中的值向数据框添加新列。 df [e] = [l1 + 1,....]
答案 0 :(得分:3)
我认为你需要apply
:
def func_processcol(l):
#changed `1` to string for correct output
processedl=l + '1'
return processedl
df = pd.DataFrame({'a':['l1','l2','l3','l4','l5','l6'],
'b':['1','2','2','1','2','2']})
df['c'] = df.b.apply(func_processcol)
print (df)
a b c
0 l1 1 11
1 l2 2 21
2 l3 2 21
3 l4 1 11
4 l5 2 21
5 l6 2 21