Как в одном DataFrame вычислить сумму столбцов и добавить в другой фрейм?

import pandas as pd
import numpy as np

df_1 = pd.DataFrame(np.random.randint(1, 10, size=(8, 4)),
                    columns=['col_1', 'col_2', 'col_3', 'col_4'])

df_2 = df_1.filter(items = ['col_1', 'col_2'])

Как мне в df_2 добавить столбец, являющийся суммой col_3 + col_4?


Ответы (3 шт):

Автор решения: CrazyElf

Ну это ж азы работы с Pandas совсем уж:

df_2['col_3_4_sum'] = df_1.col_3 + df_1.col_4
→ Ссылка
Автор решения: strawdog
import pandas as pd
import numpy as np

df_1 = pd.DataFrame(np.random.randint(1, 10, size=(8, 4)),
                    columns=['col_1', 'col_2', 'col_3', 'col_4'])

df_2 = pd.concat([df_1[["col_1", "col_2"]], df_1.assign(colsum=df_1["col_3"]+df_1["col_4"])["colsum"]], axis=1)
→ Ссылка
Автор решения: MaxU
res = df_1.eval("new = col_3 + col_4")[["col_1", "col_2", "new"]]

результат:

In [82]: res
Out[82]:
   col_1  col_2  new
0      8      4   10
1      6      5   16
2      1      6    9
3      3      2    5
4      3      6    4
5      4      7    9
6      3      3   12
7      1      2   13
→ Ссылка