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
当 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 之间时,如何使用获取一列的平均值
使用函数之间的pandas
:
df.loc[df['ColB'].between(7, 8), 'ColA'].mean()
当 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 之间时,如何使用获取一列的平均值
使用函数之间的pandas
:
df.loc[df['ColB'].between(7, 8), 'ColA'].mean()