У меня есть две серии, и каждая ячейка обеих серий содержит список элементов произвольной длины.Моя цель - выполнить перекрестное соединение между этими двумя сериями, но объединять строки только в том случае, если хотя бы один элемент списка ячеек серии соответствует элементу списка ячеек в другой серии.
Например:
series_a
0 [1geor, georg, eorge, orges, rgesq, gesqu, esq...
1 [1mark, marks, arksq, rksqu, ksqua, squar, qua...
2 [1prim, primr, rimro, imros, mrose, roses, ose...
3 [1shan, shank, hanka, ankar, nkars, karst, wew...
4 [1stka, stkat, tkath, katha, athar, thari, har...
series_b
0 [115br, 15bro, 5broa, broad, roadw, oadwa, adway]
1 [11par, 1park, parkp, arkpl, rkpla, kplac, place]
2 [125we, 25wes, 5west, west2, est25, st25t, t25th]
3 [135ma, 35mad, 5madi, madis, adiso, dison]
4 [135we, 35wes, 5west, west4, est41]
Я хочу проверить для каждой строки в series_a, является ли хотя бы один элемент в строке = элементом в строке series_b, и, если да, объединить эти строки в новом фрейме данных.
Итак, глядя на первый ряд series_a, проверяем, существует ли 1geor в 1-м, 2-м, 3-м.и т. д. список series_b;если TRUE, выполнить объединение, и если FALSE, не выполнять объединение.
Чтобы уточнить, возвращенный фрейм данных должен иметь два столбца, где первый столбец содержит ячейки из series_a, а второй столбец содержит ячейки из series_b.Для всех строк в этом кадре данных в списке в 1-м столбце должен быть хотя бы один элемент, который можно найти в списке во 2-м столбце.Например:
returned_df
0 [115br, 15bro, 5broa] | [15bro, abcde, 12345, hello, world, test1]
1 [11par, 1park, parkp, arkpl, rkpla] | [parkp, broad]
2 [125we, 25wes, 5west, west2, est25, st25t, t25th] | [t25th, sadlf, 234lgk]
...
Если элемент в строке в series_a встречается более чем в одной строке в series_b, все комбинации совпадающих строк должны появиться в конечном кадре данных.
Что такоенаиболее эффективный код Python для этого упражнения?Код:
any(elem in b for elem in a)
легко отвечает на этот вопрос для двух конкретных списков, но я хочу перебрать обе серии во всей их полноте.
Спасибо!