如何基于另一列的值计算均值?Python/Pandas实现
按Rampmelt_Active分组计算均值的方法
不需要用value_counts(),直接用以下两种方法就能分别得到0和1状态对应的Preheat_To_Pour_Time均值:
方法1:布尔索引筛选计算
直接筛选出对应状态的行,单独计算均值:
- 激活状态(Rampmelt_Active=1)的均值:
df[df['Rampmelt_Active'] == 1]['Preheat_To_Pour_Time'].mean() - 未激活状态(Rampmelt_Active=0)的均值:
df[df['Rampmelt_Active'] == 0]['Preheat_To_Pour_Time'].mean()
方法2:groupby分组统计(更高效)
用groupby按Rampmelt_Active列分组后,直接对目标列求均值,会返回包含两种状态结果的Series:
df.groupby('Rampmelt_Active')['Preheat_To_Pour_Time'].mean()
value_counts()只是用来统计0和1的出现次数,如果你需要验证每组的样本量可以用它,但计算均值完全不需要依赖这个结果。
内容的提问来源于stack exchange,提问作者Jordan Bennett
相关产品推荐
相关产品推荐

