Python — сравнить 2 списка, сопоставить и сохранить дубликаты

#python #pandas

#python #pandas

Вопрос:

Это не простое сопоставление двух списков. Список 2 длиннее списка 1. Сопоставьте по алфавиту.

Эти два списка являются:

 List 1     List 2
a-1        a-2
b-1        z-99        
c-1        a-3
           z-99
           b-2
  

Я хочу вернуть этот результат:

 List 1     List 2
a-1        a-2
           a-3
b-1        b-2
  

Есть идеи, как это сделать? ]
Спасибо!

Комментарии:

1. Я не вижу правила сопоставления. Кроме того, какие элементы я должен сохранить?

2. @thomas Сопоставьте по алфавиту.

Ответ №1:

Один из способов использования pandas.merge :

 df1 = df[["List 1"]]
df2 = df[["List 2"]]
df3 = df1.merge(df2, left_on=df1["List 1"].str[0], right_on=df2["List 2"].str[0])
print(df3.drop("key_0", 1))
  

Вывод:

   List 1 List 2
0    a-1    a-2
1    a-1    a-3
2    b-1    b-2
  

Комментарии:

1. я думаю, это оно! Я знал, что это должно быть что-то связанное с pandas merge, но не знал, как это сделать. Спасибо