Извините за неопределенный заголовок, это сложно объяснить.
У меня есть два pandas df's
, которые содержат связанную информацию.Один содержит данные, которые отображают метки времени, когда должно произойти событие, а другой - данные, когда это событие действительно происходит.
Я хочу определить разницу между этими временными метками.Проблема заключается в значениях, которые представляют каждый, где эти события немного различаются.Они похожи, но не идентичны.Поэтому трудно merge
или concatenate
при одинаковом значении.
Первый df
- это когда события должны произойти:
Пример df:
Sched = pd.DataFrame({
'E' : ['Home','Shops','Away','Shops','Home'],
'F' : ['10:00:00','11:00:00','12:00:00','13:00:00','14:00:00'],
'G' : ['No: 10', 'No: 2', 'No: 1','No: 3','No: 11'],
})
То есть место, где происходят события, помечено Column E
.например, Home, Shops, Away
.
Этот df отображается, когда событие действительно происходит:
Meet = pd.DataFrame({
'A' : ['10:00:05','11:00:05','12:00:05','13:00:05','14:00:05'],
'B' : ['HOME LOCK','AWAY HR','SHOPS JK','HOME LOCK','SHOPS JK'],
'C' : ['No:','No:','No:','No:','No:'],
'D' : ['10', '1', '2','11','3'],
})
Таким образом, данные в Column B
находятся на том же собрании (дома, в гостях, магазинах), но естьнесколько отличий.Это все заглавными буквами, есть несколько дополнительных строк для некоторых.
Я рассмотрел попытку сопоставить соответствующие коды с использованием:
Code = pd.DataFrame({
'H' : ['HOME LOCK','AWAY HR','SHOPS JK'],
'I' : ['Home','Away','Shops'],
})
Meet['B'] = Meet['B'].map(Code.set_index('H')['I'])
Таким образом, я мог бы объединить вывод сsched df
.Проблема в том, что существуют сотни кодов, и они постоянно меняются каждый день.
Есть ли способ сделать частичное совпадение значений?Например, можно ли объединить значения, которые в значительной степени совпадают?