python删除行并将其值分配给其他行

2024-10-03 06:31:07 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中,我有一个具有以下结构的数据库:

python

^{tb1}$

子组的数量因其所属的组而异

我需要得到以下信息:

python

^{tb2}$

基本上,我必须删除以“X”结尾的子组,并将值平均分配给其他子组(在同一个组中)

你知道我怎么做吗


Tags: 信息数据库数量结尾结构tb2tb1子组
1条回答
网友
1楼 · 发布于 2024-10-03 06:31:07

解决问题的一种方法:

df = df.sort_values(['Group','Subgroup'])
def transform(x):
    x['Value'] = x['Value'] + x.iloc[-1]['Value'] / (len(x) - 1)
    return x.iloc[:-1]
df = df.groupby('Group').apply(transform).reset_index(drop=True)

输出:

  Group Subgroup  Value
0     A      A_1   25.0
1     A      A_2   30.0
2     B      B_1   30.0
3     B      B_2   35.0
4     B      B_3   40.0
5     C      C_1    2.0
6     C      C_2    2.0
7     C      C_3    2.0
8     C      C_4    2.0

相关问题 更多 >