创建列的前n个字母的新列,其中n是另一列中的值

时间:2016-08-29 12:17:44

标签: python pandas

我有一个包含姓名和年龄的数据框:

name:  age: 
john    2
sean    3
jack    1
peter   4 

根据他们的年龄n,我想打印其姓名的第一个n个字母,因此例如sean在新列中变为sea

我试过这个:

family['newcol'] = [x[:y] for x in family['name'] and for y in family['age']]

但它没有奏效。有谁能请给我一个解决方案?

1 个答案:

答案 0 :(得分:2)

请试试这个:

family['newcol'] = [family.ix[x]['name'][0:family.ix[x]['age']] for x in family.index]