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())
Post a Comment for "How To Get Mean Of Rows Selected With Another Column's Values In Pandas"