Skip to content Skip to sidebar Skip to footer

How To Get Mean Of Rows Selected With Another Column's Values In Pandas

I am trying to get calculate the mean for Score 1 only if column Dates is equal to Oct-16: What I originally tried was: import pandas as pd import numpy as np import os dataF

Solution 1:

Iterating through the rows doesn't take advantage of Pandas' strengths. If you want to do something with a column based on values of another column, you can use .loc[]:

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

The first part of .loc[] selects the rows you want, using your specified criteria (dataFrame['Dates'] == 'Oct-16'). The second part specifies the column you want (Score 1). Then if you want to get the mean, you can just put .mean() on the end:

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

Solution 2:

import pandas as pd
import numpy as np
import os

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

dates = dataFrame["Dates"]
score1s = dataFrame["Score 1"]
result = []

for i inrange(0,len(dates)):
    if dates[i] == "Oct-16":
        result.append(score1s[i])

print(result.mean())

Solution 3:

How about the mean for all dates

dataframe.groupby('Dates').['Score 1'].mean()

Post a Comment for "How To Get Mean Of Rows Selected With Another Column's Values In Pandas"