У меня есть два следующих кадра данных:
Таблица 1:
Key1 Key2 Value1 Other Data
1 2 5 foo
3 1 6 bar
и
Таблица 2:
Key1 Key2 Property1 Property2
1 2 5 7
3 1 6 8
1 3 7 7
2 1 4 4
2 1 6 6
2 1 8 5
В таблице 1порядок ключей не имеет значения.Таблица 1 не имеет дубликатов.В таблице 2 порядок ключей имеет значение.Таблица 2 имеет дубликаты.Я довольно новичок в пандах, но, как я понимаю, концепция групповой игры должна стать идеальным инструментом для работы.Я надеюсь, что я достаточно хорошо объяснил свою проблему.
Редактировать: Что касается комментариев, я хотел бы разделить проблему.
Первый шаг: объединить таблицу 1 и таблицу 2. Я думаю, что это должнобыть иерархическим.
Key 1 Key 2 Value 1 Other Data Key1 Key2 Property1 Propterty2
1 2 5 foo 1 2 5 7
2 1 4 4
2 1 6 6
2 1 8 5
3 1 6 bar 3 1 6 8
1 3 7 7
Шаг 2: Фильтровать значения на основе значения 1. Если Свойство 1 = Значение 1 + - 1 , удерживайте запись, если не удалите ее.В приведенном здесь примере это приводит к:
Key 1 Key 2 Value 1 Other Data Key1 Key2 Property1 Propterty2
1 2 5 foo 1 2 5 7
2 1 4 4
2 1 6 6
3 1 6 bar 3 1 6 8
1 3 7 7
Шаг 3: изменить форму и построить среднее значение: построить среднее значение для всех оставшихся пар (здесь среднее значение для двух записей для (2,1)).Затем измените форму кадра данных.
Key 1 Key 2 Value 1 Other Data Property1(i,j) Propterty2(i,j) Property1(j,i) Propterty2(j,i)
1 2 5 foo 5 7 5 5
3 1 6 bar 6 8 7 7
Шаг 4: Обработка пропущенных данных.Если бы у меня были только данные для (1,3) в Таблице 2, но нет для (3,1), тогда он должен заполнить эти значения NaN в Шаге 3.На последнем шаге я хотел бы удалить все строки с NaN.