#python #python-3.x #pandas
#питон #python-3.x #панды
Вопрос:
Я пытаюсь найти средний вес женщин младше 20 лет, у меня есть следующий фрейм данных, я уже преобразовал возраст в int, а вес в плавающий.
age weight height male 39.0 88.636360 180.0 True 64.0 75.000000 155.0 False 17.0 100.000000 183.0 False 35.0 63.636364 170.0 True 18.0 70.454544 173.0 False
Я пробовал df.groupby(['male','age'])['weight'].mean()[False]
, но это просто возвращает что-то вроде:
age 18.0 64.225121 19.0 65.499535 20.0 67.855026 21.0 69.622658 22.0 69.376862
Как я могу отфильтровать его так, чтобы он суммировал вес всех женщин в возрасте до 20 лет, а затем взял среднее значение?
Комментарии:
1. пожалуйста, опубликуйте свой ожидаемый выходной кадр данных
Ответ №1:
В групповом общении нет необходимости, если я не ошибаюсь. Вы можете отфильтровать фрейм данных в зависимости от ваших условий, а затем взять среднее значение столбца веса.
df.loc[(~df["male"]) amp; (df["age"] lt; 20), "weight"].mean()
Комментарии:
1. Ах, спасибо, что сработало, спасибо!, не беспокойтесь, вы не поняли меня неправильно .