Как Pandas делает групповую игру для сценария ниже - PullRequest
1 голос
/ 28 марта 2020

Я столкнулся с проблемой, пытаясь понять приведенный ниже фрагмент кода группы. Я пытаюсь понять, как происходит вычисление для df.groupby (L) .sum ().

Это фрагмент кода, который я получил от URL введите описание ссылки здесь . Спасибо за любую помощь.

Initialising value to data frame

Pandas group by result

1 Ответ

2 голосов
/ 28 марта 2020

Строки группируются по значениям списка, поскольку длина списка такая же, как и количество строк в DataFrame, это означает:

rng = np.random.RandomState(0)
df = pd.DataFrame({'key': ['A', 'B', 'C', 'A', 'B', 'C'],
                   'data1': range(6),
                   'data2': rng.randint(0, 10, 6)},
                   columns = ['key', 'data1', 'data2'])
L = [0, 1, 0, 1, 2, 0]
print (df)
  key  data1  data2
0   A      0      5 <-0
1   B      1      0 <-1
2   C      2      3 <-0
3   A      3      3 <-1
4   B      4      7 <-2
5   C      5      9 <-0

Итак:

data1 for 0 is 0 + 2 + 5 = 7
data2 for 0 is 5 + 3 + 9 = 17

data1 for 1 is 1 + 3 = 4
data2 for 1 is 0 + 3 = 3

data1 for 2 is 4
data2 for 2 is 7

Вывод :

print(df.groupby(L).sum())
   data1  data2
0      7     17
1      4      3
2      4      7

ключевой столбец опущен, поскольку Automati c исключение столбцов 'помехи' .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...