У меня есть два кадра данных, загруженных из файлов CSV в Python.
Один из них содержит данные следующего типа:
Well Zones Inflow
E18 A 0.45
E23 B 0.33
E25 C 0.2
E18 B 0.2
E23 A 0.67
E25 D 0.12
E23 B 0.2
E18 A 0.67
E25 D 0.12
, а другой:
Well Zones Distance
E18 A 5.3
E23 B 2.1
E25 C 4.8
E18 B 5.4
E23 A 2.3
E25 D 5.5
Мне нужно сопоставить два кадра данных на основепри двух условиях: «Хорошо» и «Зоны», чтобы первый кадр данных был обновлен следующим образом:
Well Zones Inflow Distance
E18 A 0.45 5.3
E23 B 0.33 2.1
E25 C 0.2 4.8
E18 B 0.2 5.4
E23 A 0.67 2.3
E25 D 0.12 5.5
Это может показаться тривиальным из приведенного выше примера, потому что я включил его здесь только для описания моегопроблема.Фактические данные - это действительно большой файл с перетасованными данными в оригинальном файле.
Это то, что я использовал для сопоставления только по одному критерию, и оно отлично работает:
df1.insert(13, 'Distance', df1['Well'].map(df2.set_index('Well')['Distance']))
*** 13 - это столбец для вставки сопоставленных данных из
. Однако мне нужен тот же (или любой другой) способ сопоставления двух кадров данных, но с 2 или более условиями (потому что зависит от зоны и скважины).расстояние различается), поэтому не только условия "Хорошо", но и "Хорошо" + "Зоны".