python - DataFrame 在函数内部分配
问题描述
我对 df assign 函数有疑问。使用此功能时,我必须输入不带撇号的列名。为什么会这样,我可以绕过它吗?请参阅下面的示例
df = pd.DataFrame(columns=['Grade'])
df['Grade'] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
df_temp = df.assign(Grade='Total')
def dummy(df, _g):
# if I write grade here then I get the expected result
return df.assign(_g='Total')
# here I want grade to be assigned to total but it creats a new variable called _g
df_temp = dummy(df, 'Grade')
解决方案
def dummy(df, _g):
return df.assign(**{_g: 'Total'})
推荐阅读
- java - 注册到 consul 集群 - 如何同步节点或处理多节点连接
- c++ - C++ destructor called after calling constructor
- asp.net - 如何使用 ASP.Net MVC 按周对当前月份的数据进行分组
- gitkraken - 尽管上传了 ssh 密钥,但 GitKraken 仍要求提供 GitHub 凭据
- winapi - DCompositionCreateDevice2: E_INVALIDARG 一个或多个参数无效
- python - 在数据帧列表上执行 .loc(作为重新索引)并将结果存储为新数据帧
- c# - 如何以不那么繁琐的方式编写带有约束的通用接口的扩展方法
- typescript - TypeScript:从对象推断类型
- temperature - rhoair = 1/HAPropsSI('Vha','T',473.15,'P',101325,'R',0.22)
- python - 将级别添加到字典中的列