如何获得在pandas中用另一列的值选择的行的平均值?[英] How to get mean of rows selected with another column's values in pandas

本文是小编为大家收集整理的关于如何获得在pandas中用另一列的值选择的行的平均值?的处理方法,想解了如何获得在pandas中用另一列的值选择的行的平均值?的问题怎么解决?如何获得在pandas中用另一列的值选择的行的平均值?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

仅当列 Dates 等于 Oct-16 时,我才尝试计算得分 1 的平均值:

在此处输入图片描述

我最初尝试的是:

 import pandas as pd
 import numpy as np
 import os

 dataFrame = pd.read_csv("test.csv")

 for date in dataFrame["Dates"]:
    if date == "Oct-16":
        print(date)##Just checking
        print(dataFrame["Score 1"].mean())

但我的结果是整列的平均值 Score 1

我尝试的另一件事是手动告诉它要计算平均值的指数:

dataFrame["Score 1"].iloc[0:2].mean()

但理想情况下,如果 Dates == "Oct-16".

,我想找到一种方法来做到这一点

推荐答案

遍历行并没有利用 Pandas 的优势.如果你想根据另一列的值对一列做一些事情,你可以使用 .loc[]:

dataFrame.loc[dataFrame['Dates'] == 'Oct-16', 'Score 1']

.loc[] 的第一部分使用您指定的条件 (dataFrame['Dates'] == 'Oct-16') 选择您想要的行.第二部分指定您想要的列 (Score 1).然后如果你想得到平均值,你可以把 .mean() 放在最后:

dataFrame.loc[dataFrame['Dates'] == 'Oct-16', 'Score 1'].mean()

本文地址:https://www.itbaoku.cn/post/1728151.html