Группировать и суммировать столбцы, которых нет в списках - PullRequest
0 голосов
/ 15 октября 2019

У меня есть df фрейм данных со столбцами со следующим шаблоном: #number - letter, и я хочу добавить в новый столбец other, который составляет сумму столбцов, которых нет в letter_table1 и letter_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)

1 Ответ

0 голосов
/ 15 октября 2019

Поскольку 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...