Numpy: добавление определенных столбцов строк условно - PullRequest
0 голосов
/ 30 июня 2018

Для данного массива NumPy:

[[1, 1, 'IGNORE_THIS_COL', 100],
 [1, 1, 'IGNORE_THIS_COL', 101],
 [1, 2, 'IGNORE_THIS_COL', 100]]

Можно ли суммировать строки (и столбцы условно)? Скажем, столбец 0 - это группа, а столбец - пользователь, тогда я бы хотел добавить четвертый столбец соответственно. Окончательный суммированный массив должен выглядеть следующим образом.

[[1, 1, 'IGNORE_THIS_COL', 201],
 [1, 2, 'IGNORE_THIS_COL', 100]]

Я уже проверил несколько ответов, включая Numpy: условная сумма .

1 Ответ

0 голосов
/ 30 июня 2018

Вы ищете группу по подмножеству столбцов. Это непросто реализовать с помощью numpy, но с пандами это просто groupby:

import pandas as pd

df = pd.DataFrame(array)
out = df.groupby([0, 1], as_index=False).agg({2:'first', 3:'sum'}).values.tolist()

print(out)
[[1, 1, 'IGNORE_THIS_COL', 201], [1, 2, 'IGNORE_THIS_COL', 100]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...