Как в одном 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