将DataFrame按等时间间隔拆分并计算区间均值
按等时间间隔计算测量值平均值的高效方法
不用手动逐个创建区间DataFrame,用Pandas的分组功能可以一次性完成,步骤如下:
加载数据集
先导入Pandas并读取你的CSV文件:import pandas as pd df = pd.read_csv('sample_data.csv')生成等时间间隔分组
使用pd.cut()函数自动把Time1列分成0-1、1-2…99-100的左闭右开区间(对应你说的t<1、1≤t<2这类范围):# 生成0到100、步长为1的区间,right=False表示区间左闭右开 df['time_interval'] = pd.cut(df['Time1'], bins=range(0, 101), right=False)如果需要调整步长(比如每2秒一个区间),只需要修改
range的步长:range(0, 101, 2)按区间计算平均值
用groupby按区间分组,直接计算对应测量值列的平均值:# 把"Measurement"替换成你实际的测量值列名 interval_avg = df.groupby('time_interval')['Measurement'].mean()查看结果
可以把结果转成DataFrame方便查看或导出:# 转成带索引的DataFrame result_df = interval_avg.reset_index() print(result_df)
这个方法不管有多少区间都能一次性处理,不用重复写筛选条件,比手动创建多个DataFrame高效得多。如果需要左开右闭的区间(比如0<t≤1),把pd.cut()里的right=False改成right=True即可。
内容的提问来源于stack exchange,提问作者qazwsx123
相关产品推荐
相关产品推荐

