Регистрация не е нужна, освен при създаване на тема в "Задача на седмицата".

Заплати в компания

Заплати в компания

Мнениеот math_girl » 24 Апр 2022, 14:41

Здравейте,
Как да подходя към тази задача - Какви методи трябва да се използват? Най-вече ме интересуват първите 3-4 подточки. Благодаря предварително! Весели празници!


Разполагаме с данни за служителите на една компания(файла data) Данните на конкретен служител са разположени по редове, а по колони са наблюдаваните параметри. Първия
ред съдържа имената на колоните:
1. GENDER - пол на служителя
2. DEPART - отдел в който работи
3. EDUC - образование
4. AGE - възраст
5. HEIGHT - ръст (в инчове)
6. SENIOR - трудов стаж в компанията
7. SALARY - текуща заплата


а) Има ли разлика в заплащането на мъжете и жените?
Кои получават по-висока заплата? Има ли разлика в заплащането в
отделните отдели на компанията? В кой отдел заплатите са най-малки?
б) Има ли тенденция служителите с определено образование да са от даден пол?
в) Има ли разлика в заплащането в отделните отдели спрямо пола на служителя?
г) Има ли разлика в заплащането в отделните отдели спрямо образовaнието на служителя?
д) Образованието оказва ли влияние върху заплатата? Как?
е) Може ли да прогнозираме каква би била заплатата на
даден служител на базата на неговата втзраст или трудов стаж в
компанията? Каква би била заплатата на 39 годишен служител?
Прикачени файлове
data.xlsx
(9.16 KiB) 157 пъти
data.pdf
(15.04 KiB) 178 пъти
math_girl
Нов
 
Мнения: 7
Регистриран на: 17 Юли 2021, 13:40
Рейтинг: 2

Re: Заплати в компания

Мнениеот peyo » 24 Апр 2022, 17:50

math_girl написа:а) Има ли разлика в заплащането на мъжете и жените?
Кои получават по-висока заплата? Има ли разлика в заплащането в
отделните отдели на компанията? В кой отдел заплатите са най-малки?
б) Има ли тенденция служителите с определено образование да са от даден пол?
в) Има ли разлика в заплащането в отделните отдели спрямо пола на служителя?
г) Има ли разлика в заплащането в отделните отдели спрямо образовaнието на служителя?
д) Образованието оказва ли влияние върху заплатата? Как?
е) Може ли да прогнозираме каква би била заплатата на
даден служител на базата на неговата втзраст или трудов стаж в
компанията? Каква би била заплатата на 39 годишен служител?


Ще използаме pandas.

Код: Избери целия код
In [63]: import pandas as pd
    ...: df = pd.read_excel(r"c:\downloads\data(1).xlsx")
    ...: df.head()
Out[63]:
   GENDER   DEPART     EDUC  AGE  HEIGHT  SENIOR  SALARY
0  Female     Ship  College   22      63       4    23.4
1    Male  Package  College   49      65      17    40.4
2    Male     Bake  College   36      67       8    29.4
3    Male  Package       HS   37      67       3    24.8
4    Male     Ship     Grad   43      66      11    31.2


а) Има ли разлика в заплащането на мъжете и жените?

Код: Избери целия код
In [64]: df.groupby("GENDER")["SALARY"].mean()
    ...:
Out[64]:
GENDER
Female    23.863415
Male      24.979661
Name: SALARY, dtype: float64


Бих казал разликата е малка, мъжете имат по-голяма средна заплата.

б) Има ли тенденция служителите с определено образование да са от даден пол?

Код: Избери целия код
In [65]: dfmale = df[df["GENDER"] == "Male"]
    ...: dffemale = df[df["GENDER"] == "Female"]
    ...: dfmale.groupby(["GENDER","EDUC"])["SALARY"].count()/len(dfmale)
    ...:
Out[65]:
GENDER  EDUC
Male    College    0.508475
        Grad       0.067797
        HS         0.423729
Name: SALARY, dtype: float64

In [66]: dffemale.groupby(["GENDER","EDUC"])["SALARY"].count()/len(dffemale)
    ...:
Out[66]:
GENDER  EDUC
Female  College    0.512195
        Grad       0.048780
        HS         0.439024
Name: SALARY, dtype: float64


Прилича процентите да са горе--долу еднакви, значи почти няма значение образованието.


в) Има ли разлика в заплащането в отделните отдели спрямо пола на служителя?

Код: Избери целия код
In [67]: dfmale.groupby(["GENDER","DEPART"])["SALARY"].mean()
Out[67]:
GENDER  DEPART
Male    Bake       24.455556
        Package    25.634483
        Ship       24.183333
Name: SALARY, dtype: float64

In [68]: dffemale.groupby(["GENDER","DEPART"])["SALARY"].mean()
    ...:
Out[68]:
GENDER  DEPART
Female  Bake       23.604762
        Package    26.609091
        Ship       21.111111
Name: SALARY, dtype: float64


Малка разлика освен в Ship където мъжеете вземат повече.

г) Има ли разлика в заплащането в отделните отдели спрямо образовaнието на служителя?

Код: Избери целия код
In [71]: df.groupby(["DEPART","EDUC"])["SALARY"].mean()
Out[71]:
DEPART   EDUC
Bake     College    23.145000
         Grad       21.350000
         HS         25.311765
Package  College    24.785000
         Grad       25.550000
         HS         27.183333
Ship     College    21.900000
         Grad       24.800000
         HS         23.712500
Name: SALARY, dtype: float64


Тези с HS получават повече в Bake и Package, a Grad най-много в Ship.

д) Образованието оказва ли влияние върху заплатата? Как?

Код: Избери целия код
In [72]: df.groupby(["EDUC"])["SALARY"].mean()
Out[72]:
EDUC
College    23.519608
Grad       23.900000
HS         25.797674
Name: SALARY, dtype: float64


Тези с HS получават най-много.

е) Може ли да прогнозираме каква би била заплатата на
даден служител на базата на неговата втзраст или трудов стаж в
компанията? Каква би била заплатата на 39 годишен служител?

Код: Избери целия код
In [74]: df[["AGE","SENIOR","SALARY"]].corr()
Out[74]:
             AGE    SENIOR    SALARY
AGE     1.000000  0.536754  0.434936
SENIOR  0.536754  1.000000  0.952335
SALARY  0.434936  0.952335  1.000000


Хм... Имаме 0.95 между SENIOR и SALARY, което значи много силна права връзка. Значи по трудов стаж можем. По възраст имаме 0.536754 което е слаба права връзка. Можем да пробваме пък каквото стане:

Код: Избери целия код
In [93]: import numpy as np
    ...: z = np.polyfit(x=df.loc[:, "AGE"], y=df.loc[:, "SALARY"], deg=1)
    ...: p = np.poly1d(z)
    ...: p
Out[93]: poly1d([ 0.31055706, 14.94752583])


Това е нашата линейна зависимост:
$y = 0.31055706x + 14.94752583$

Да видим колко е заплатата на 39 годишните:

Код: Избери целия код
In [95]: p(39)
Out[95]: 27.059251181819434
peyo
Математик
 
Мнения: 1767
Регистриран на: 16 Мар 2019, 09:35
Местоположение: София
Рейтинг: 663


Назад към Вероятности, статистика



Кой е на линия

Регистрирани потребители: Google [Bot]

Форум за математика(архив)