我的数据如下
Gene Distance
0 A 18
1 B 16
2 C 58
3 D 45
4 E 34
如果两个基因的距离小于50,则应将它们组合在一起(列表中)如下
1 A,B
2 C,D,E
循环应该在B和C之间包含,因为它们之间的距离大于50.如何在循环和列表中多次创建这样的中断。
答案 0 :(得分:1)
你可以使用groupby
(应该比循环更快......)
df.Gene.groupby(df.Distance.gt(50).cumsum()).apply(list).str.join(',')
Out[347]:
Distance
0 A,B
1 C,D,E
Name: Gene, dtype: object