使用函数pandas python基于来自其他列的值添加新列

时间:2016-11-29 08:51:55

标签: python pandas dataframe

我有一个数据框,我想根据现有列的某些处理添加一个新列。

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,....]

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