Python 如何在指定中指定列名称dynamicali
我有一个有两列的数据框Python 如何在指定中指定列名称dynamicali,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个有两列的数据框 lst = [['James',15],['Michael',10]] df1 = pd.DataFrame(lst,columns = ['name','val']) 我只想使用pandas assign函数来完成下面的任务 col = 'val' df1 = df1.assign(col=lambda x: x.val+10) 这给了我这个输出 name val col 0 James 25 35 1 Michael 20
lst = [['James',15],['Michael',10]]
df1 = pd.DataFrame(lst,columns = ['name','val'])
我只想使用pandas assign函数来完成下面的任务
col = 'val'
df1 = df1.assign(col=lambda x: x.val+10)
这给了我这个输出
name val col
0 James 25 35
1 Michael 20 30
但我真的想要这个
name val
0 James 25
1 Michael 20
我想在
col
变量中传递列名val
,它接受*kwargs
关键字参数。因此,您可以制作第一本词典,然后使用**
解包
col = 'val'
df1 = df1.assign(**{col:lambda x: x.val+10})
df1
name val
0 James 25
1 Michael 20
是否故意缺少
col
val@AjayChinni您在初始df1中使用[15,10]
,因此预期输出为[25,20]
请相应地更新问题。@dishinghoyani感谢您理解我的问题,甚至纠正了我的问题。完美的