当不同列中的值在两个值之间时,Python需要获取一列数据的平均值或平均值
Posted
技术标签:
【中文标题】当不同列中的值在两个值之间时,Python需要获取一列数据的平均值或平均值【英文标题】:Python need to get the average or mean of a column of data when the value in a different column is between two values 【发布时间】:2021-08-18 19:28:34 【问题描述】:当ColB
介于 7 和 8 之间时,我想得到 ColA
的平均值。所以在这种情况下,它将是 5.5。我试过了:
Avg = ColA[7 <= ColB <= 8].mean()
Sample of data
问题是我收到以下错误:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
如果我只使用一个条件,那么它执行时不会出错。
Avg =ColA[ColB >= 7].mean()
print(Avg)
当不同列的值介于两个集合 va 之间时,如何使用获取一列的平均值
【问题讨论】:
How to make good reproducible pandas examples 你真的在用熊猫吗?您应该相应地标记您的帖子。 【参考方案1】:在函数之间使用pandas
:
df.loc[df['ColB'].between(7, 8), 'ColA'].mean()
【讨论】:
这非常有效。我发现你也可以设置包含 ex。 .between(1, 4, inclusive="neither") 选项包括“both”, “neither”, “left”, “right”以上是关于当不同列中的值在两个值之间时,Python需要获取一列数据的平均值或平均值的主要内容,如果未能解决你的问题,请参考以下文章
当同一列中的值不匹配但不同列重复时将返回结果的 SQL 查询