【发布时间】:2020-10-19 18:01:45
【问题描述】:
下面的代码按一个键对数据框进行分组。
df = pd.DataFrame(data, columns=['id', 'date', 'cnt'])
df['date']= pd.to_datetime(df['date'])
for c_id, group in df.groupby('id'):
print(c_id)
print(group)
这会产生如下结果:
id date cnt
1 2019-01-02 1
1 2019-01-03 2
1 2019-01-04 3
1 2019-01-05 1
1 2019-01-06 2
1 2019-01-07 1
id date cnt
2 2019-01-01 478964
2 2019-01-02 749249
2 2019-01-03 1144842
2 2019-01-04 1540846
2 2019-01-05 1444918
2 2019-01-06 1624770
2 2019-01-07 2227589
id date cnt
3 2019-01-01 41776
3 2019-01-02 82322
3 2019-01-03 93467
3 2019-01-04 56674
3 2019-01-05 47606
3 2019-01-06 41448
3 2019-01-07 145827
id date cnt
4 2019-01-01 41776
4 2019-01-02 82322
4 2019-01-06 93467
4 2019-01-07 56674
从这个结果中,我想找到每个 id 的最大连续天数。所以 id 1 是 6,id 2 是 7,id 3 是 7,id 4 是 2。
【问题讨论】:
-
第 3 组和第 4 组中存在重复索引
1。这是故意的吗? -
不,这不是故意的。那是来自结果集。它与实际数据无关。
-
@QuangHoang 我刚拿出来