Нормализация панд с помощью группового - PullRequest
1 голос
/ 18 октября 2019

У меня есть столбец с двумя рядами Дата первого столбца, который варьируется от 2015-01-01 до 2019-01-01, а во втором столбце есть некоторые случайные значения, и я хочу создать новый столбец, который должен выглядеть ниже

У меня есть столбец панд, как показано ниже

A1             B1

2015-01-01     A
2015-02-01     A
2015-03-01     A
2015-04-01     A
2015-01-01     B
2015-02-01.    B
-----

, и я хочу новый столбец, как показано ниже

A1              B1    B

2015-01-01       A   0
2015-02-01       A   1
2015-03-01       A   2
2015-05-01.      A   3
2015-01-01       B   0
2015-02-01.      B   1

Я думаю, что я должен использовать функцию groupby на B1, но не уверен, каксделать это

1 Ответ

2 голосов
/ 18 октября 2019

groupby.cumcount

df.assign(B=df.groupby('B1').cumcount())

            A1 B1  B
0   2015-01-01  A  0
1   2015-02-01  A  1
2   2015-03-01  A  2
3   2015-04-01  A  3
4   2015-01-01  B  0
5   2015-02-01  B  1

На месте

df['B'] = df.groupby('B1').cumcount()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...