У меня есть два фрейма данных, один с именем 'foo' и один с именем 'bar'. Мой фрейм данных 'foo' имеет несколько уникальных столбцов, а мой фрейм данных 'bar' также имеет несколько уникальных столбцов. Тем не менее, они оба разделяют один столбец, столбец "Google". Я пытаюсь увидеть, есть ли способ сохранить все столбцы во фрейме данных 1, «foo», и добавить еще один столбец, столбец «CLRS», который будет равен 1, если содержание в столбце «Google» в этом строка «foo» появляется где-то в столбце «google» в «баре».
В частности, давайте предположим, что мои фреймы данных имеют такую структуру: 'foo' содержит столбцы: 'foo_1', 'foo_2', ..., 'google', а bar содержит столбцы: 'bar_1', 'bar_2 ..., "Google".
Я хочу объединить / объединить «foo» и «bar» таким образом, чтобы у «foo» был дополнительный столбец «CLRS», чтобы у «CLRS» был 1, если содержимое «google» в этой строке foo 'появляются в какой-то момент в столбце' google 'на панели' bar '. Я пробовал следующий код:
'''
# foo examples
foo['foo1'] = ['dijkstra','TSP',...]
foo['foo2'] = ['Oculus','VR', ...]
.
.
.
foo['google'] = ['search','ads', 'A/B Testing', 'UI' ...]
# bar examples
bar['bar1'] = ['dijkstra','TSP',...]
bar['bar2'] = ['search','ads', ...]
.
.
.
# 'A/B Testing' appears in the column somewhere but 'ads' does
# not
bar['google'] = ['search','google_search', 'TDD', 'UI',
...,'A/B Testing', ...]
# my code
foo_merged =
foo.join(bar, how = 'left')
# my result
foo_merged['foo1'] = ['dijkstra','TSP',...]
foo_merged['foo2'] = ['search','ads', ...]
.
.
.
foo_merged['google'] = ['search','ads', ...]
foo_merged['CLRS'] = ['search','google_search', 'TDD', 'UI',
...]
# What I want as an output for foo_merged is:
foo_merged['foo1'] = ['dijkstra','TSP',...]
foo_merged['foo2'] = ['search','ads', ...]
.
.
.
foo_merged['google'] = ['search','ads', 'A/B Testing', 'UI'
...]
foo_merged['CLRS'] = [1,0,1,1,...]
'''
К сожалению, после запуска предыдущего кода соединения foo_merged содержит все столбцы foo и один дополнительный столбец, который всегда содержит содержимое столбца «google» из «bar». Вместо этого моим желаемым результатом будет df, такой, что дополнительный столбец «CLRS» содержит 1, если содержимое «google» в этой строке «foo» появляется где-то как содержимое столбца «google» в «bar», и 0 в противном случае .