我想将continue数据分成一些组。我有一些这样的数据:
Index Age Predict
0 23 0
1 39 0
2 70 0
3 41 1
4 50 0
5 17 0
6 29 1
我尝试:
df_1 = df[['Age','Predict']]
data = df_1.sort_values(by='Age')
排序后:
Index Age Predict
5 17 0
0 23 0
6 29 1
1 39 0
3 41 1
2 70 0
4 50 0
我该怎么做才能将数据分类到组中:
Index Age Predict
group 1:
5 17 0
0 23 0
group 2:
6 29 1
group 3:
1 39 0
group 4:
3 41 1
group 5:
2 70 0
4 50 0
感谢帮助。
IIUC,您想要的组是从Predict创建的,diff
其后几行之间不等于0。因此您可以创建一列:
data_ = df.sort_values('Age')
data_['gr'] = data_['Predict'].diff().ne(0).cumsum()
print (data_)
Index Age Predict gr
5 5 17 0 1
0 0 23 0 1
6 6 29 1 2
1 1 39 0 3
3 3 41 1 4
4 4 50 0 5
2 2 70 0 5
或者,如果您想拆分数据而不创建组列,一种方法是创建一个包含每个组的字典
data_ = df.sort_values('Age')
d = {i: dfg
for i,(_, dfg) in enumerate(data_.groupby(data_['Predict'].diff().ne(0).cumsum()),1)}
print (d[1])
Index Age Predict
5 5 17 0
0 0 23 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句