对不在列表中的列进行分组和求和

2024-09-30 20:18:01 发布

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

我有一个df数据框,其中的列具有以下模式:#number - letter,我想添加一个新的列other,它将不在letter_table1letter_table2中的列相加:

TEXT, A, B, C, D, E, F, G, H, I
a,1,1,1,2,2,2,3,3,3
b,1,1,1,2,2,2,3,3,3
c,1,1,1,2,2,2,3,3,3
d,1,1,1,2,2,2,3,3,3
e,1,1,1,2,2,2,3,3,3
f,1,1,1,2,2,2,3,3,3
g,1,1,1,2,2,2,3,3,3
h,1,1,1,2,2,2,3,3,3
i,1,1,1,2,2,2,3,3,3
j,1,1,1,2,2,2,3,3,3

例如:

tableau_lettres1 = [H]
tableau_lettres2 = [I, J]

我该怎么做?目前我已经尝试:

        df_sum['others'] = df.loc[:,~df.isin(tableau_lettres1, tableau_lettres2)].sum(axis=1)

以及:

        df_sum['others'] = df.loc[:,df.drop(tableau_lettres1, tableau_lettres2)].sum(axis=1)

Tags: 数据numberdf模式locsumotherletter
1条回答
网友
1楼 · 发布于 2024-09-30 20:18:01

由于tableau_lettres1, tableau_lettres2是列表,您需要将它们连接到一个列表,并获得其他列名,如:

df_sum['others'] = df[[col for col in df.columns.tolist() if col not in tableau_lettres1 + tableau_lettres2]].sum(axis=1)

相关问题 更多 >