Как объединить строки таблицы, чтобы игнорировать повторяющиеся поля?Python

Программы на Python
Ответить
Anonymous
 Как объединить строки таблицы, чтобы игнорировать повторяющиеся поля?

Сообщение Anonymous »

В нашей базе данных кадровых ресурсов указаны индивидуальные задания для каждого сотрудника. Сотрудники могут иметь несколько назначений (т. е. работать в нескольких отделах или местах) или несколько ролей (одновременный временный контракт и временный контракт), и база данных обновляется ежедневно. В любой момент времени для сотрудника может быть несколько записей; некоторые из них будут повторяться, а некоторые будут иметь незначительные различия.
Я уже удаляю повторяющиеся записи, единственное, что отличается, — это EntryID и ChangeDate, поэтому мне остается примерно так:


EmployeeEntryID
ИзменитьДата
Сотрудник#
Имя
Фамилия
Тип
Название
Отдел
Начальный
< th>Конец
FTE




1420
20241122
1234
Том
Джонс
CONP
УЧИТЕЛЬ
Школа 2
20240826
99999999
0,5330


1420
20241122
1234
Том
Джонс
ТЕПТ
УЧИТЕЛЬ
Школа 3
20240826
20250630
0,1000


5540
202412021234
Том
Джонс
ТЕПТ
УЧИТЕЛЬ
Школа 1
20240826
20250630
0.1801



Что бы я хотел сделать для Nightly update объединяет эти три строки в одну, где сотрудник назначается школе с самым высоким FTE, но все школы перечислены в разделе «Описание» (в порядке FTE):



Сотрудник#
Имя
Фамилия
Тип
Название
Отдел
Описание
Начало
Окончание
FTE




1234
Том
Джонс
CONP
УЧИТЕЛЬ
Школа 2
Школа 2, Школа 1, Школа 3
20250106
99999999
0,5330



К сожалению, все, что я нашел относительно объединения строк с помощью Pandas, похоже, предполагает, что вы имеете дело с числами, а не строками, поэтому я не знаю, с чего начать. Я пробовал следующее:

Код: Выделить всё

df.sort_values(['Employee#','FTE'],ascending=True).groupby('Employee#')['Department'].agg(', '.join).reset_index()
в котором школы будут перечислены в порядке ЭПЗ (что подходит для поля «Описание»), но я не могу понять, как изолировать школу с наибольшим ЭПЗ для поля назначения.< /п>

Подробнее здесь: https://stackoverflow.com/questions/793 ... re-ignored
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»