Перечислять строки по категориям - PullRequest
0 голосов
/ 13 марта 2020

Перечисление строк значений по категориям

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

d = {"cat":["a","b","a","c","c"],"val" :[1,2,3,1,4]  }
df = pd.DataFrame(d)
df = df.sort_values(["cat","val"])
df

enter image description here

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

df["cat_count"] = [1,2,1,1,2]
df

enter image description here

Есть ли способ автоматизировать это?

1 Ответ

0 голосов
/ 13 марта 2020

Вы можете использовать cumcount, как это. Подробности здесь cumcount

df['count'] = df.groupby('cat').cumcount()+1
print (df)

Выход

  cat  val  count
0   a    1      1
2   a    3      2
1   b    2      1
3   c    1      1
4   c    4      2
...