Поиск совпадающих строк между двумя df с учетом приоритетов столбцов

У меня есть следующий вложенный файл json, содержащий некоторые переменные и их значения (в иерархическом формате):

      "1": {
            "var1": 1,
            "L1": {
                "var2": 14,
                "L2": {
                    "var3": 0,
                    "L3": {
                        "var4": 90
                    }
                }
            }
        },
        
"2": {
                "var1": 1,
                "L1": {
                    "var2": 17,
                    "L2": {
                        "var5": 1,
                        "L3": {
                            "var6": 6
                        }
                    }
                }
            },
...and so on

Я использовал функцию normalize() для анализа этого json-файла, а затем использовал pivot(), чтобы преобразовать его в df с именем source_df:

      sourde_df>>

index    var1  L1.var2    L1.L2.var3   L1.L2.var5   L1.L2.L3.var4   L1.L2.L3.var6
 id_1     1       14           0         nan            90              nan
 id_2     1       17          nan        1              nan              6

Теперь мне нужно перебрать другой df (raw_data) и найти строки, значения которых соответствуют source_df, и назначить им соответствующий «id». Если у меня есть raw_df вроде этого:

      raw_df>>

    index  var1  var2  var3    var4    var5   var6
      1     1     14     0      90      11      0
      2     1     17     2      88      1       6
      3     1     14     0      90      1      92
      4     10     7     0      4       0      92

В конце должно получиться так:

      raw_df>>
    
    index  var1  var2  var3    var4    var5   var6   id
      1     1     14     0      90      11     0    id_1
      2     1     17     2      88      1      6    id_2
      3     1     14     0      90      1      92   id_1
      4     10     7     0      4       0      92    nan

Поскольку у меня нет префиксов выравнивания (L1, L2, ...) в моем raw_df, как мне найти совпадающие строки с учетом иерархии переменных? Любая помощь будет принята с благодарностью.

0 ответов

Другие вопросы по тегам