Код: Выделить всё
# set random seed for reproducibility
np.random.seed(42)
# crate random pandas dataframe
df = pd.DataFrame({'hit_num': np.random.randint(1,5,20),
'score': np.random.randint(1, 500, 20),
})
df.sort_values(by='hit_num')
Пример данных, которые я сгенерировал для создания идеи
Таким образом, hit_num 1 следует пропустить, hit_num 2 должен получить среднее значение 4 балла и hit_num 3 должны получить среднее значение 7 баллов.
Я пытался работать с np.mean() или со средним значением pandas, но понял, что это просто даст среднее значение всей колонны. Затем я искал конкретный столбец/строку. Здесь, в stackoverflow, я нашел кое-что, что показало, как получить среднее значение определенных комбинаций столбца и строки:
Код: Выделить всё
df[['b', 'c']].iloc[[2,4]].mean(axis=0)
Поэтому я подумал, что мне нужно что-то вроде цикла, чтобы сначала указать hit_num > 3, а затем the middle()?
Однако я здесь застрял (до сих пор не уверен, стоит ли вообще делать это вот так):
Код: Выделить всё
for hits in df:
if df['hit_num'].value_counts() < 3:
continue
elif df['hit_num'].value_counts() => 3:
df.mean()
Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-the-da