Python Pandas如何计算单列中奇数行与偶数行的平均值
计算Pandas DataFrame隔行平均值的简便方法
首先需要明确行号的对应逻辑:你提到的第1、3、5…行是日常自然计数的顺序,对应Pandas默认0起始索引的偶数位置(0、2、4…);第2、4、6…行对应索引的奇数位置(1、3、5…)。
最简单的实现方式是用iloc步长切片直接筛选目标行,再调用mean()计算平均值:
# 第1、3、5…奇数行(对应索引0、2、4…)的Pressure列平均值 odd_row_avg = df['Pressure'].iloc[::2].mean() # 第2、4、6…偶数行(对应索引1、3、5…)的Pressure列平均值 even_row_avg = df['Pressure'].iloc[1::2].mean()
切片规则说明:
iloc[::2]表示从索引0开始,每隔2个位置取一个值,刚好匹配你需要的奇数行数据iloc[1::2]表示从索引1开始,每隔2个位置取一个值,刚好匹配你需要的偶数行数据
如果你的DataFrame索引不是默认的连续整数,也可以用索引模2的方式实现,逻辑更直观:
odd_row_avg = df.loc[df.index % 2 == 0, 'Pressure'].mean() even_row_avg = df.loc[df.index % 2 == 1, 'Pressure'].mean()
两种方式都可以直接得到结果,其中iloc切片的性能更好,更适合处理大数据量的场景。
内容的提问来源于stack exchange,提问作者SeanK22
相关产品推荐
相关产品推荐

