Как фильтровать объекты после использования groupby? - PullRequest
0 голосов
/ 07 июня 2019

Мне нужно отобразить среднее рабочее время по роду занятий и полу.Итак, у меня есть три колонки - занятие, секс, часы в неделю.Я отобразил это с помощью гистограммы, но мне нужны только мужчины.

df = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data', header=None)
df.columns = ['age', 'workclass', 'fnlwgt', 'education', 'education-num', 'marital-status', 'occupation', 'relationship', 'race', 'sex',
          'capital-gain', 'capital-loss', 'hours-per-week', 'native-country', 'income']

df.groupby(['occupation','sex'])['hours-per-week'].mean().plot('bar')

Снимок экрана с результатом

Ответы [ 2 ]

0 голосов
/ 07 июня 2019

Попробуйте:

df.query('sex == " Male"')\
  .groupby(['occupation','sex'])['hours-per-week'].mean().plot('bar')
0 голосов
/ 07 июня 2019

Вы можете отфильтровать кадр данных по полу с помощью:

df[df.sex == ' Male']

Не забывайте пробел, так как ваши данные имеют один перед "мужчина" и "женщина".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...