首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过函数向dataframe中添加多列

如何通过函数向dataframe中添加多列
EN

Stack Overflow用户
提问于 2019-12-19 06:09:06
回答 2查看 188关注 0票数 1

如果我有一个这样的df:

代码语言:javascript
复制
   a  b
0  1  3
1  2  4

我可以使用df['c'] = ''df['d'] = -1添加2列,结果如下所示:

代码语言:javascript
复制
   a  b c  d
0  1  3   -1
1  2  4   -1

我如何在一个函数中编写代码,这样我就可以将该函数应用于df并一次性添加所有列,而不是像上面那样逐个添加它们?谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-19 06:28:31

创建字典:

代码语言:javascript
复制
dictionary= { 'c':'', 'd':-1 }

def new_columns(df, dictionary):
    return df.assign(**dictionary)

然后用你的df调用它:

代码语言:javascript
复制
df = new_columns(df, dictionary)

或者只是(如果你不需要函数调用,不确定你的用例是什么):

代码语言:javascript
复制
df.assign(**dictionary)
票数 1
EN

Stack Overflow用户

发布于 2019-12-19 06:42:48

代码语言:javascript
复制
def update_df(a_df, new_cols_names, new_cols_vals):
  for n, v in zip(new_cols_names, new_cols_vals):
    a_df[n] = v

update_df(df, ['c', 'd', 'e'], ['', 5, 6])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59400632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档