Я думаю, здесь самым простым является использование numpy.mean
:
x = np.mean(a)
Образец :
df = pd.DataFrame({
'A':list('abcdef'),
'math':[4,5,4,5,5,4],
'chemistry':[7.3434,8,9,4,2,3],
'bio':[1,3,5,7,1,0],
'E':[5,3,6,9,2,4],
'F':list('aaabbb')
})
x = np.mean(a)
print (x)
4.114466666666666
Pandas решение:
x = df.loc[0, ['math','bio','chemistry']].mean()
print (x)
4.114466666666666
Также для меня работает преобразование всех значений в числа с плавающей точкой:
import statistics
a = [float(df.math[0]),float(df.bio[0]),float(df.chemistry[0])]
x = statistics.mean(a)
print (x)
4.114466666666667
import statistics
a = [float(x) for x in a]
x = statistics.mean(a)
print (x)
4.114466666666667