Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/103: Рейтинг темы: голосов - 103, средняя оценка - 4.66
2 / 2 / 4
Регистрация: 05.11.2016
Сообщений: 64

Pandas анализ данных DataFrame

17.03.2019, 15:08. Показов 20587. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть табличка DataFrame с уникальными признаками (см.ниже)
  1. age: continuous.
  2. workclass: Private, Self-emp-not-inc, Self-emp-inc, Federal-gov, Local-gov, State-gov, Without-pay, Never-worked.
  3. fnlwgt: continuous.
  4. education: Bachelors, Some-college, 11th, HS-grad, Prof-school, Assoc-acdm, Assoc-voc, 9th, 7th-8th, 12th, Masters, 1st-4th, 10th, Doctorate, 5th-6th, Preschool.
  5. education-num: continuous.
  6. marital-status: Married-civ-spouse, Divorced, Never-married, Separated, Widowed, Married-spouse-absent, Married-AF-spouse.
  7. occupation: Tech-support, Craft-repair, Other-service, Sales, Exec-managerial, Prof-specialty, Handlers-cleaners, Machine-op-inspct, Adm-clerical, Farming-fishing, Transport-moving, Priv-house-serv, Protective-serv, Armed-Forces.
  8. relationship: Wife, Own-child, Husband, Not-in-family, Other-relative, Unmarried.
  9. race: White, Asian-Pac-Islander, Amer-Indian-Eskimo, Other, Black.
  10. sex: Female, Male.
  11. capital-gain: continuous.
  12. capital-loss: continuous.
  13. hours-per-week: continuous.
  14. native-country: United-States, Cambodia, England, Puerto-Rico, Canada, Germany, Outlying-US(Guam-USVI-etc), India, Japan, Greece, South, China, Cuba, Iran, Honduras, Philippines, Italy, Poland, Jamaica, Vietnam, Mexico, Portugal, Ireland, France, Dominican-Republic, Laos, Ecuador, Taiwan, Haiti, Columbia, Hungary, Guatemala, Nicaragua, Scotland, Thailand, Yugoslavia, El-Salvador, Trinadad&Tobago, Peru, Hong, Holand-Netherlands.
  15. salary: >50K,<=50K

Какова доля граждан Германии (признак native-country)?
Python
1
data[(data['native-country'] == 'Germany')].mean()
Не знаю правильно ли...
Ну и еще вопросы вооот... Не знаю какими функциями Pandas пользоваться
  1. Каковы средние значения и среднеквадратичные отклонения возраста тех, кто получает более 50K в год (признак salary) и тех, кто получает менее 50K в год?
  2. Правда ли, что люди, которые получают больше 50k, имеют как минимум высшее образование? (признак education – Bachelors, Prof-school, Assoc-acdm, Assoc-voc, Masters или Doctorate)
  3. Выведите статистику возраста для каждой расы (признак race) и каждого пола. Используйте groupby и describe. Найдите таким образом максимальный возраст мужчин расы Amer-Indian-Eskimo.
  4. Среди кого больше доля зарабатывающих много (>50K): среди женатых или холостых мужчин (признак marital-status)? Женатыми считаем тех, у кого marital-status начинается с Married (Married-civ-spouse, Married-spouse-absent или Married-AF-spouse), остальных считаем холостыми.
  5. Какое максимальное число часов человек работает в неделю (признак hours-per-week)? Сколько людей работают такое количество часов и каков среди них процент зарабатывающих много?
  6. Посчитайте среднее время работы (hours-per-week) зарабатывающих мало и много (salary) для каждой страны (native-country).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.03.2019, 15:08
Ответы с готовыми решениями:

Dataframe pandas
Всем привет! Есть dataframe книги. Автор1 книга 1 Автор 2 книга 2 Автор 1 книга 3 Как можно сформировать xml файл с...

Pandas dataframe
Доброго дня форумчане. Возник следующий вопрос. Есть у меня таблица, которую необходимо &quot;перевернуть&quot;. Так dataframe...

Pandas Dataframe
я импортирую фрейм данных из excel. Столбец 1 установлен как индекс. Я хочу проверить в индекс (Столбец 1) пустой ячейке с помощью цикла...

2
17 / 12 / 5
Регистрация: 21.07.2018
Сообщений: 59
17.03.2019, 15:13
Можно пользоваться функциями loc , iloc - для фильтрации Вашего датафрейма по условию или совокупности условий:


Python
1
print(df.loc[df['A'] == 'foo' and df['B'] == 'one'])

А потом уже проводить какие-либо вычисления.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
17.03.2019, 19:08
Цитата Сообщение от Mentalist_ Посмотреть сообщение
Каковы средние значения и среднеквадратичные отклонения возраста тех, кто получает более 50K в год (признак salary) и тех, кто получает менее 50K в год?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
def variant1():
    more_50k = data[data['salary'] == '>50K']
    less_50k = data[data['salary'] == '<=50K']
    more_50k_mean = more_50k['age'].mean()
    more_50k_std = more_50k['age'].std()
    less_50k_mean = less_50k['age'].mean()
    less_50k_std = less_50k['age'].std()
 
    calc_data = pd.DataFrame(
        {
            "mean":[more_50k_mean,less_50k_mean], 
            "std":[more_50k_std,less_50k_std]
        },
        index=['>50K','<=50K']
    )
 
    print(calc_data)
 
# другой способ
def variant2():
    subset = pd.DataFrame(
        {
            '>50K': data[data['salary'] == '>50K']['age'],
            '<=50K':data[data['salary'] == '<=50K']['age']
        }
    )
 
    calc_data = subset.agg(
        {
        '>50K' :  ['mean', 'std'],
        '<=50K' : ['mean', 'std']
        }
    ).T  # транспонируем; или можно оставить как есть - тогда столбцами будут названия категорий
    print(calc_data)
 
# еще  проще
def variant3():
    dm = data.groupby('salary')[['age']].mean()
    ds = data.groupby('salary')[['age']].std()
 
    d = pd.concat([dm,ds],axis=1)
    d.columns = ['mean','std']
    print(d)
 
 
variant1()
variant2()
variant3()
Code
1
2
3
4
5
6
7
8
9
10
11
            mean        std
>50K   44.249841  10.519028
<=50K  36.783738  14.020088
            mean        std
>50K   44.249841  10.519028
<=50K  36.783738  14.020088
 
             mean        std
salary
<=50K   36.783738  14.020088
>50K    44.249841  10.519028
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.03.2019, 19:08
Помогаю со студенческими работами здесь

Pandas. Объединить DataFrame
Приветствую всех! Коллеги, подскажите. Я спарсил xml файл с помощью xmltodict. Получил два датафрейма (пришлось делать два из-за...

Выборка в DataFrame Pandas
Подскажите пожалуйста с задачей, не выходит сделать выборку, как в задании в DataFrame Pandas. 1.Оставьте в выборке только те...

Pandas, dataframe, to_csv, csvformatter
Добрый день! Помогите, пожалуйста. Делаю экспорт таблицы с помощью класса CSVFormatter в файл csv. Хочу, чтобы везде было по 3 знака...

Сложные структуры Pandas DATAFRAME
Здраствуйте уважаемые знатоки! Подскажите пожалуйста способ при котором можно обработать нижеследующую структуру. Общий смысл просто...

Сравнение Dataframe через Pandas
Добрый вечер уважаемые форумчане! На данный момент нахожусь на начальном этапе обучения языка Python 3 версии. Мне необходимо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru