После вычисления среднего значения для всех записей по типу события я теперь должен вычислить количество набранных атлетом очков выше среднего.Я нашел способ сделать это по одному, но я хотел бы знать, есть ли более элегантный способ сделать это в пандах.Извините за изображения, но это, пожалуй, лучший способ показать вам, ребята, что я сделал и хочу сделать
РЕДАКТИРОВАТЬ: Мои извинения, я новичок в интерфейсе.Я постараюсь быть максимально понятным с кодом. (Кто-нибудь знает, как лучше отобразить фрейм данных, который не является изображением для стекового потока?
d = {'Event':['Mens 100m','Womens 100m','Mens 800m', 'Mens 800m'],'Record':[10.06,10.6,50.4,60.5]}
df = pd.DataFrame(data = d)
1.) Мне нужно было найти средстванаборы записей для всех различных событий:
for i in range(len(Events)):
x = df[df['Event'] == Events[i]]['Record'].mean()
print(Events[i], ":", "{0:.5f}".format(x))
# В строке ниже приведен список всех средств для различных типов событий с использованием списка comp.
Means = [df[df['Event']== Events[i]]['Record'].mean() for i in range(len(Events))]
2.) Используя эти средства, я должен найти количество спортсменов для каждого события, у которого есть запись выше среднего, которое было вычислено в строке выше.
# i = 0 where Events[0] is 'Womens 100m'
i = 0; df[df['Event'] == Events[i]][['Record']] > Means[i]
Вывод: 2
Мне нужно посчитать количество истинных значений в приведенном выше для всех событий.Есть ли хороший способ сделать это, кроме как присвоить его серии, а затем считать True?Что бы выглядело так:
d = {'Athletes over Mean for Each Event':[4,6,10,2,5,6]}
df = pd.DataFrame(data = d)
Еще раз спасибо заранее, надеюсь, на этот раз я прояснил ситуацию.