хотя итерация и добавление столбцов pandas - PullRequest
1 голос
/ 26 февраля 2020

Я работал с набором тренировочных данных, и мне сказали создать новый столбец с суммой других:

df["new column"] = df["column4"] + df["column5"] + df["column6"] + df["column7"] + etc....

Я чувствую, что это неэффективно из-за того, что они ровные вверх (столбцы 4-9), и мне нужно ускорить кодирование (готовится конкурс Data Sci!).

как мне сделать это более коротким / более эффективным способом!

I я пробовал использовать разные варианты, такие как df['Total'] = sum(df.columns[4:9]), но не получается

отказ от ответственности: я новичок в pandas

1 Ответ

3 голосов
/ 26 февраля 2020

Предполагая, что эти столбцы расположены рядом друг с другом, используйте нарезку столбцов:

df['new column'] = df.loc[:, 'column4':'column9'].sum(axis=1)

axis=1 означает, что вы суммируете по столбцам, поэтому вы рассчитываете общее количество по строке.


Если они разделены, вы можете получить их сумму с помощью списка:

cols = ['column4', 'column5', 'column6', 'column7', 'column8', 'column9']
df['new column'] = df[cols].sum(axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...