回答編集履歴
2
test
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
lambda y: pd.date_range(y['start'], y['end'], freq='H'), axis=1)
|
8
8
|
.explode().value_counts(sort=False).to_frame('count')
|
9
9
|
.reset_index(names='datetime'), include_groups=False)\
|
10
|
-
.
|
10
|
+
.reset_index()
|
11
11
|
df['datetime'] = df['datetime'].dt.round('H')
|
12
12
|
df = df.drop_duplicates(['id', 'datetime'])
|
13
13
|
df = df[['datetime', 'count']].groupby('datetime').sum()
|
1
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
> 同時刻内にユーザが重複しても、カウントされないようにしたいです。
|
2
2
|
|
3
|
-
id 毎にカウントする様にして(`groupby()`)、id と時刻で重複列を取り除く様にしてみてはどうでしょうか。
|
3
|
+
id 毎にカウントする様にして(`groupby()`)、id と時刻で重複列を取り除く様にして(`drop_duplicates()`)みてはどうでしょうか。
|
4
4
|
```python
|
5
5
|
df = df.sort_values('start')
|
6
6
|
df = df.groupby('id').apply(lambda x: x.apply(
|