Я пытаюсь объединить две таблицы вместе, где одна таблица является набором данных, а другая объясняет результаты теста более подробно на основе двух ключей из первой таблицы. Данные таблицыСлияние таблиц данных данных с использованием двух ключей
results_items:
Test ID | Vehicle ID | Test Class ID | Test Result | RfR ID
17 28 2 F 530
22 33 2 P 548
44 49 4 F 7003
52 54 4 F 8553
Второй Таблица
item_detail
RfR ID Test Class ID RfR Desc Marker RfR Insp Man Desc
4 1 missing an obligatory lamp missing
4 2 missing an obligatory lamp missing
5 1 damaged and function impaired so damaged or deteriorated that its function is impaired
Я пытаюсь объединить их с помощью внутреннего соединения на RFR ID и испытания класса ID, так что каждая строка в в первой таблице приведено описание, связанное с этим:
Test ID | Vehicle ID | Test Class ID | Test Result | RfR ID | RfR Insp Man Desc
17 28 2 F 530 an obligatory lamp missing
22 33 2 P 548 an obligatory lamp missing
44 49 4 F 7003 so damaged or deteriorated that its function is impaired
52 54 4 F 8553 so damaged or deteriorated that its function is impaired
Я попытался с помощью следующей логики:
results_items_desc = pd.merge(
results_items,
item_detail,
how = 'inner',
on = ['Test Class ID','RfR ID']
)
Поскольку это то, что я хотел бы сделать в SQL, однако таблица вывода пуста. Моя единственная теория заключается в том, что это может быть что-то вроде порядка столбцов, однако это никогда не влияло на мои результаты в sql
Может быть, существуют разные имена столбцов (например, 'space' в конце имени столбца). Что такое 'print results_items.columns' и' print item_detail.columns'? Или, может быть, есть разные 'dtypes' объединяющихся столбцов. Проверьте 'print results_items.dtypes' и' print item_detail.dtypes' – jezrael
Вы уверены, что у вас есть общие значения в обоих столбцах в обоих dfs? вы получаете df, если вы измените 'how = 'outer''? – EdChum
@jezrael похоже, что соединение работает на RfR ID, но не на идентификаторе тестового класса, если я попробую их отдельно. Я проверил типы данных, а RfR ID - int64, тогда как идентификатор тестового класса - это объекты в обеих таблицах. –