【发布时间】:2017-09-22 19:01:35
【问题描述】:
我有以下熊猫数据框:
import pandas as pd
import numpy as np
df = pd.DataFrame({"first_column": [0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0]})
>>> df
first_column
0 0
1 0
2 0
3 1
4 1
5 1
6 0
7 0
8 1
9 1
10 0
11 0
12 0
13 0
14 1
15 1
16 1
17 1
18 1
19 0
20 0
first_column 是 0 和 1 的二进制列。有连续的“集群”,它们总是以至少两个成对的形式出现。
我的目标是创建一个列来“计算”每组的行数:
>>> df
first_column counts
0 0 0
1 0 0
2 0 0
3 1 3
4 1 3
5 1 3
6 0 0
7 0 0
8 1 2
9 1 2
10 0 0
11 0 0
12 0 0
13 0 0
14 1 5
15 1 5
16 1 5
17 1 5
18 1 5
19 0 0
20 0 0
这听起来像是 df.loc() 的工作,例如df.loc[df.first_column == 1]...某事
我只是不确定如何考虑每个单独的“集群”,以及如何用“行数”标记每个独特的集群。
如何做到这一点?
【问题讨论】:
标签: python pandas dataframe group-by pandas-groupby