質問するログイン新規登録

回答編集履歴

1

追記

2021/06/08 10:29

投稿

bsdfan
bsdfan

スコア4947

answer CHANGED
@@ -3,4 +3,8 @@
3
3
  df['number'] = (df['name'] != df['name'].shift()).cumsum()
4
4
  ```
5
5
 
6
- 連続する値でgroupbyしたいときとかに、よく使われます。
6
+ 連続する値でgroupbyしたいときとかに、よく使われます。
7
+
8
+ `df['name'] != df['name'].shift()`は、ひとつ前と異なればTrue、同じならFalseです。
9
+ これをcumsumで先頭から累積和をとります。
10
+ 和をとるとき、Trueは1、Falseは0で扱われるので、欲しいものが得られます。