У меня есть два кадра данных с двумя столбцами, которые действительно имеют значение.Один столбец состоит из значений типа float64, а другой - строки.кадры данных имеют разные размеры.
Я бы хотел сопоставить столбец Number
и столбец Item
одновременно, а затем получить только те из них, которые совпадают.
df1 = pd.DataFrame({ 'Number':[1.0,3.0,4.0,5.0,8.0,12.0,32.0,58.0] , 'Item': ['Phone', 'Watch', 'Pen', 'Pencil', 'Pencil','toolkit','box','fork']})
df2 = pd.DataFrame({'Number':[3.0,4.0,8.0,12.0,15.0,32.0,54.0,58.0,72.0], 'Item':['Watch','Pen','Pencil','Eraser','bottle','box','toolkit','fork','Phone']})
df1
Number Item
0 1.0 Phone
1 3.0 Watch
2 4.0 Pen
3 5.0 Pencil
4 8.0 Pencil
5 12.0 toolkit
6 32.0 box
7 58.0 fork
df2
Number Item
0 3.0 Watch
1 4.0 Pen
2 8.0 Pencil
3 12.0 Eraser
4 15.0 bottle
5 32.0 box
6 54.0 toolkit
7 58.0 fork
8 72.0 Phone
Я пытаюсь использовать forloop, и цикл идет очень долго.Кажется, это очень плохой метод достижения этого.Я пытаюсь использовать маску, но не знаю, как этого добиться.Цените помощь в выполнении этого в кратчайшие сроки.
Желаемый результат должен выглядеть следующим образом:
Item Matching Number
0 Phone No Match 1.0
1 Watch Matched 3.0
2 Pen Matched 4.0
3 Pencil No Match 5.0
4 Pencil Matched 8.0
5 toolkit No Match 12.0
6 box Matched 32.0
7 fork Matched 58.0