Добавить номер сегмента по партии - PullRequest
0 голосов
/ 13 декабря 2018

Все,

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

Index   Animal  Segment
0       Dog     1
1       Cat     1
2       Cat     1
3       Bear    2
4       Bird    2
5       Dog     2
6       Dog     3
7       Dog     3
8       Cat     3
9       Bear    4
10      Bear    4
11      Lion    4
12      Dog     5
13      Lion    5
14      Cat     5

Не уверен, как лучше всего добиться этого в Pandas.Я знаю, что в обычном питоне, идущем строка за строкой, я бы делал цикл и инкремент I, но понятия не имею, как это сделать в Pandas.

Спасибо за любую помощь.

Ответы [ 2 ]

0 голосов
/ 13 декабря 2018

Не могли бы вы попробовать следующее.

df['Segment']=df.index // 3 + 1
df
0 голосов
/ 13 декабря 2018

Do:

df['Segment'] = np.arange(len(df))//3 + 1

Index   Animal  Segment
0       Dog     1
1       Cat     1
2       Cat     1
3       Bear    2
4       Bird    2
5       Dog     2
6       Dog     3
7       Dog     3
8       Cat     3
9       Bear    4
10      Bear    4
11      Lion    4
12      Dog     5
13      Lion    5
14      Cat     5 

Объяснение :

np.arange(len(df)) создает последовательность длиной len(df), а с //3 вы берете словоделение его элементов на 3, и добавив к нему 1, вы получите желаемый результат.

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