为了账号安全,请及时绑定邮箱和手机立即绑定

Python:带有assign()的函数中的新列名

Python:带有assign()的函数中的新列名

斯蒂芬大帝 2021-09-28 15:39:14
在下面的代码中,我创建了一个函数来返回一个带有一个新列的数据帧,该列new_col的周期移位值为ori_col。但是,输出的新列具有名称new_col而不是B。我在这里缺少什么?import pandas as pddef add_col_diff(dframe, ori_col, new_col):    shift_1 = dframe[ori_col].shift(1)    return dframe.assign(new_col=shift_1)data = {'A': [10, 11, 12]}df = pd.DataFrame.from_dict(data)df = add_col_diff(df, 'A', 'B')df这给     A  new_col0   10  NaN1   11  10.02   12  11.0
查看完整描述

1 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

assign将关键字参数设置为列名。简单地assign(new_col=shift_l)将创建一个名称为 的列new_col关键字参数不会被评估为变量。

如果要使用变量来定义列名,可以从字典中解压缩。尝试:

dframe.assign(**{new_col: shift_1})

另一种方法是使用:

dframe[new_col] = shift_1


查看完整回答
反对 回复 2021-09-28
  • 1 回答
  • 0 关注
  • 238 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信