pandas计算最大连续间隔的方法

如下所示:

群里一朋友发了一个如上图的问题,解决方法如下

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计算最大连续间隔的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python科学计算之Pandas详解

    起步 Pandas最初被作为金融数据分析工具而开发出来,因此 pandas 为时间序列分析提供了很好的支持. Pandas 的名称来自于面板数据(panel data)和python数据分析 (data analysis) .panel data是经济学中关于多维数据集的一个术语,在Pandas中也提供了panel的数据类型. 在我看来,对于 Numpy 以及 Matplotlib ,Pandas可以帮助创建一个非常牢固的用于数据挖掘与分析的基础.而Scipy当然是另一个主要的也十分出色的科学计

  • pandas基于时间序列的固定时间间隔求均值的方法

    如果index是时间序列就不用转datetime:但是如果时间序列是表中的某一列,可以把这一列设为index 例如: 代码: DF=df2.set_index(df1['time_slot1']) DF.index=pd.to_datetime(DF.index,unit='ns') ticket=DF.ix[:,['all_time']] #以20分钟为一个时间间隔,求出所有间隔的平均时间 A_2analysisResult=ticket.all_time.resample('20min').

  • pandas计算最大连续间隔的方法

    如下所示: 群里一朋友发了一个如上图的问题,解决方法如下 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

  • 使用pandas计算环比和同比的方法实例

    目录 前言 1.数据准备 2.环比计算 3.同比计算 4.关于pct_change()函数 5.后记 前言 在进行业务数据分析时,往往需要使用pandas计算环比.同比及增长率等指标,为了能够更加方便的进行的统计数据,整理方法如下. 1.数据准备 为方便进行演示,此处提前生成需要进行统计的数据,数据已经是按照时间维度进行排序. months = pd.date_range(start='2010-01-01', end='2020-12-31', freq='M') test_df = pd.D

  • python 使用pandas计算累积求和的方法

    使用pandas下的cumsum函数 cumsum:计算轴向元素累积加和,返回由中间结果组成的数组.重点就是返回值是"由中间结果组成的数组" import numpy as np ''' arr是一个2*2*3三维矩阵,索引值为0,1,2 cumsum(0):实现0轴上的累加:以最外面的数组元素为单位,以[[1,2,3],[8,9,12]]为开始实现后面元素的对应累加 cumsum(1):实现1轴上的累加:以中间数组元素为单位,以[1,2,3]为开始,实现后面元素的对应累加 cumsu

  • Pandas计算元素的数量和频率的方法(出现的次数)

    目录 pandas.Series.unique():返回NumPy数组ndarray中唯一元素值的列表 pandas.Series.value_counts():返回唯一元素的值及其在出现的次数. pandas.Series.nunique(), pandas.DataFrame.nunique():返回int,pandas.Series中唯一元素的数量. 唯一元素的数量(不包括重复项的) 唯一元素值列表 唯一元素的频率(出现次数) 独特元素及其出现的字典 模式及其频率 mode() descr

  • Python利用pandas计算多个CSV文件数据值的实例

    功能:扫描当前目录下所有CSV文件并对其中文件进行统计,输出统计值到CSV文件 pip install pandas import pandas as pd import glob,os,sys input_path='./' output_fiel='pandas_union_concat.csv' all_files=glob.glob(os.path.join(input_path,'sales_*')) all_data_frames=[] for file in all_files:

  • python实现输入数字的连续加减方法

    不用库,写了很久,一直出bug,到网上一搜,可以直接输入之后,eval(str)即可得到结果! eval程序如下: s=input("请输入要运算的数字") print("The result is{}".format(eval(s))) 下面是不用eval实现加减的代码:主要思想就是通过一个标志位flag来计算是否进行加减,其他的都很好理解 s=input("请输入要运算的数字") l=len(s) h=0 i=0 flag=1 a=0 for

  • python计算波峰波谷值的方法(极值点)

    python求极值点主要用到scipy库. 1. 首先可先选择一个函数或者拟合一个函数,这里选择拟合数据:np.polyfit import pandas as pd import matplotlib.pyplot as plt import numpy as np from scipy import signal #滤波等 xxx = np.arange(0, 1000) yyy = np.sin(xxx*np.pi/180) z1 = np.polyfit(xxx, yyy, 7) # 用

  • 详解pandas apply 并行处理的几种方法

    1. pandarallel (pip install ) 对于一个带有Pandas DataFrame df的简单用例和一个应用func的函数,只需用parallel_apply替换经典的apply. from pandarallel import pandarallel # Initialization pandarallel.initialize() # Standard pandas apply df.apply(func) # Parallel apply df.parallel_ap

  • Pandas读取行列数据最全方法

    1.读取方法有按行(单行,多行连续,多行不连续),按列(单列,多列连续,多列不连续):部分不连续行不连续列:按位置(坐标),按字符(索引):按块(list):函数有 df.iloc(), df.loc(), df.iat(), df.at(), df.ix(). 2.转换为DF,赋值columns,index,修改添加数据,取行列索引 data = {'省份': ['北京', '上海', '广州', '深圳'], '年份': ['2017', '2018', '2019', '2020'], '

  • Pandas 计算相关性系数corr()方式

    目录 Pandas 计算相关性系数corr() 相关:数据之间有关联,相互有影响 相关性系数:衡量相关性强弱的 构造如下数据 pandas相关系数-DataFrame.corr()参数 参数说明 Pandas 计算相关性系数corr() 相关:数据之间有关联,相互有影响 如:A和B 存在一定的相关性,A对B存在一定程度的影响,A变化,B也会有一定的变化 如果A和B相等 或者 B可以由A经过计算得到---->完全相关 如果B是由 A和C计算得到 ---->并且 A可以计算出B的大部分 -----

随机推荐