4. По исходным данным произвести построение и анализ группировочных таблиц.
Известны следующие данные о месячной выработке продукции рабочими и стаж работы.
Номер рабочего
Стаж работы, лет.
Месячная выработка продукции рабочими, руб.
1,0
2050
2
1,3
2100
3
3,2
6,8
2205
4
9,0
2850
6
4.7
2890
5
7,1
2550
7
22
2970
8
29
2200
9
17,0
3200
11
2210
10
13.5
3070
12
14,3
3120
13
11.5
3105
14
12,3
2990
15
5,0
2280
16
10,7
2700
17
9.5
3050
18
19
1,5
2300
20
9,7
3090
6,6
2540
Определить зависимость между стажем работы и месячной выработкой рабочих, для чего произвести группировку рабочих по стажу, образовав пять групп с равными интервалами. Каж-дую группу охарактеризовать числом рабочих, средним стажем работы, месячной выработкой всего и в среднем на одного рабочего.
Спасибо. Заданные данные по стажу и месячной выработке выглядят в тексте неструктурированно (множество строк выбиваются из тройного формата: № работника – стаж – выработка). Чтобы корректно построить пять групп с равными интервалами и посчитать для каждой группы число рабочих, средний стаж, общую и среднюю выработку на одного рабочего, мне нужна чистая таблица из 20 строк вида:
- Номер рабочего
- Стаж работы, лет (число с запятой или точкой)
- Месячная выработка, руб.
Если передать данные в таком виде (например, как три столбца в текстовом виде или в виде таблицы), я выполню все расчеты точно.
Что могу сделать без уточнения данных
- Я могу показать вам детальный алгоритм и итоговую структуру таблицы-группировки, чтобы вы знали, как рассчитывать и что будет в итоговой таблице.
- Ниже приведены шаги и формулы, которые применяются для построения пяти групп с равными интервалами по стажу. Как только вы дадите чистую таблицу, я подставлю ваши числа и дам готовую таблицу.
Как будет строиться пятигруппная разбивка по стажу (пошагово)
1) Найти диапазон стажа
- Найдите минимальный стаж minT и максимальный стаж maxT среди всех рабочих.
2) Определить ширину интервала для каждой группы
- Δ = (maxT − minT) / 5.
- Величина Δ одинаковая для всех пяти групп.
3) Определить границы групп
- Группа 1: [minT, minT + Δ)
- Группа 2: [minT + Δ, minT + 2Δ)
- Группа 3: [minT + 2Δ, minT + 3Δ)
- Группа 4: [minT + 3Δ, minT + 4Δ)
- Группа 5: [minT + 4Δ, maxT] (последняя группа включает максимум)
Примечание по границам: в большинстве задач принято включать левую границу и исключать правую, за исключением последней группы, которая включает maxT. Если в данных встречаются рабочие на границе групп, можно выбрать одно из принятых соглашений и указать его в пояснении.
4) Подсчитать для каждой группы показатели
Для каждой группы k (k = 1..5) вычислить:
- n_k: число рабочих в группе
- SumT_k: суммарный стаж всех рабочих в группе
- SumQ_k: суммарная месячная выработка всех рабочих в группе
- t̄_k = SumT_k / n_k: средний стаж в группе
- Q̄_k = SumQ_k / n_k: средняя выработка на одного рабочего в группе
- Q_total_k = SumQ_k: общая выработка в группе
5) Сформировать итоговую таблицу
Название столбцов для итоговой таблицы по группировке:
- Группа (№ группы 1..5)
- Интервал стажа (пример: [minT, minT+Δ) — [..], последний [minT+4Δ, maxT])
- Число рабочих (n_k)
- Средний стаж (t̄_k)
- Общая выработка (Q_total_k)
- Средняя выработка на рабочего (Q̄_k)
Как это можно сделать быстро (варианты, чтобы вам быстро получить результат)
- Excel/Google Sheets:
- Введите данные три столбца: №, стаж, выработка.
- Найдите minT и maxT (например, через MIN и MAX).
- Вычислите Δ = (maxT − minT) / 5.
- С помощью формул или встроенных инструментов (Power Query или сводная таблица) создайте группировку по диапазонам стажа и получите суммарные значения и средние.
- Вытяните итоговую таблицу с n_k, t̄_k, Q_total_k и Q̄_k.
- Python (pandas) — короткий пример кода, который можно прислать вам в ответе, если нужны:
- Загрузить данные в DataFrame df с колонками: worker, tenure, output.
- minT = df['tenure'].min(); maxT = df['tenure'].max()
- Δ = (maxT - minT) / 5
- Присвоить группе: df['group'] = pd.cut(df['tenure'], bins=[minT + i*Δ for i in range(6)], include_lowest=True, right=False)
- Затем grouping: res = df.groupby('group').agg(n_k=('worker','count'), t̄_k=('tenure','mean'), Q_total_k=('output','sum'), Q̄_k=('output','mean'))
- Вывести итоговую таблицу, преобразовав интервалы в читаемые строки.
Что мне нужно от вас прямо сейчас
- Пожалуйста, пришлите чистую таблицу на 20 рабочих в одном из удобных форматов:
- три столбца: Номер, Стаж, Выработка
- или скопируйте данные в виде списка строк: номер; стаж; выработка (разделители — пробелы или запятые, главное чтобы я мог выделить три поля).
- Либо дайте добро на то, чтобы я работал с приблизительной интерпретацией данных и дам пример расчета на основе предполагаемой структуры (но это будет менее точно).
Готов приступить сразу после того как вы пришлёте данные в чистом виде. Если хотите, могу также привести готовый пример таблицы-результата на основе вашего набора данных, как только вы подтвердите или предоставите исправленные значения.