python groupby apply_使用groupby和apply向每个组添加列

我有一个以多索引作为列的数据帧。我想按级别1分组并应用一个生成新列的函数。我希望将这个计算列添加到每个组中,因此我的dataframe为每个组添加新列。在

我做了一个小的虚拟脚本和函数来复制我想做的事情。在import pandas as pd

import numpy as np

columns = [('A','julian'),('A','geoffrey'),

('B','julian'),('B','geoffrey'),

('C','julian'),('C','geoffrey')]

columns = pd.MultiIndex.from_tuples(columns)

dataframe = pd.DataFrame(data=np.random.rand(10,6),columns=columns)

def addColumn(inputDF):

group = inputDF.columns[0][1]

inputDF['sum', group] = inputDF.sum(axis=1)

return inputDF

newColumnsDataframe = dataframe.groupby(level=1, axis=1).apply(addColumn)

原始数据帧如下所示:

^{pr2}$

得到的数据帧应该如下所示(我分别构造了sum dataframe,并将两个数据帧连接起来以获得这个结果):A B C sum A B C \

geo

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值