У меня есть датафрейм, как показано ниже:
df = pd.DataFrame({"col1":[1,2,3,4], "col2":[5,6,7,8]})
df
col1 col2
0 1 5
1 2 6
2 3 7
3 4 8
У меня есть список:
ls = ["a", "b", "c", "d", "e", "f", "g", "h", "ij"]
Мне нужно сопоставить комбинацию col1 и col2 с индексом списка таким образом, чтобы 1 и5 сопоставляется с б и ф. Последний фрейм данных, который мне нужен:
df
col1 col2 item1 item2
0 1 5 b f
1 2 6 c g
2 3 7 d h
3 4 8 e ij
Я попытался сгенерировать все возможные пары из списка, используя itertools.combinations
, а затем сопоставил его с фреймом данных pandas. Но это работает только для небольшого списка. Мой фактический список содержит> 5000 элементов, и поэтому я получаю ошибку памяти, если я использую itertools. Пожалуйста, дайте мне знать, если есть лучшее решение для этого.