如何添加数据框字典的列?

How to add a column of a dictionary of dataframes?

我有一个包含 15 个数据框的字典,我正在搜索如何根据操作向每个数据框添加一列。在我的特定情况下,我想对每个数据框中的特定列求和,并将该操作的结果放在每个数据框中的新列中。如下图

df['Sum'] = df[columnlist].sum(axis=1)

为了将其应用于字典中的每个数据框,我最终得到了这个解决方案:

def sumrows(df):
  df['Sum'] = df[columnlist].sum(axis=1)
  return df
sum = {}
sum = {k: sumrows(v) for k,v in dictionary.items()}

我很好奇是否有一种方法可以做到这一点,而无需在我的字典理解范围内创建和调用函数。我没有看到很多关于如何做到这一点的资源,所以我认为这可能对像我这样的初学者有用 post。

如果 df_dict 是您的数据框字典,而 columnlist 是您要求和的列列表,那么您可以使用 .assign() 并执行:

df_sum_dict = {
    key: df.assign(Sum=df[columnlist].sum(axis=1)) for key, df in df_dict.items()
}