如下所示:
群里一朋友发了一个如上图的问题,解决方法如下
1
2
3
4
5
6
|
data = { 'a' :[ 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ], 'b' :[ 1 , 2 , 3 , 4 , 5 , 8 , 9 , 10 , 1 , 2 , 3 , 6 , 7 , 8 , 9 , 12 , 13 ]} df = pd.DataFrame(data) for name,group in df.groupby( 'a' ): group[ 'c' ] = ((group[ 'b' ].shift( 1 ).fillna( 0 ) + 1 ).astype( int ) ! = group[ 'b' ]).cumsum() # print(group) print (group[ 'c' ].value_counts()) #按value值出现最多的,即问题1的答案,value值最大的,即问题2的答案。 |
以上这篇pandas计算最大连续间隔的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/awsl123456/article/details/79104596