Вопросы

Присоединяйтесь к сопоставлению Pandas DataFrames по строке и подстроке

Я хочу объединить два фрейма данных путем частичного совпадения строк. Мне нужно объединить два фрейма данных. Первый df1 состоит из 130 000 строк, например:

id    text                        xc1       xc2
1     adidas men shoes            52465     220
2     vakko men suits             49220     224
3     burberry men shirt          78248     289
4     prada women shoes           45780     789
5     lcwaikiki men sunglasses    34788     745

а второй df2 состоит из 8000 строк, например:

id    keyword               abc1     abc2
1     men shoes             1000     11
2     men suits             2000     12
3     men shirt             3000     13
4     women socks           4000     14
5     men sunglasses        5000     15

После соответствия между ключевым словом и текстом результат должен выглядеть следующим образом:

id    text                        xc1       xc2   keyword         abc1  abc2
1     adidas men shoes            52465     220   men shoes       1000  11
2     vakko men suits             49220     224   men suits       2000  12
3     burberry men shirt          78248     289   men shirt       3000  13
4     lcwaikiki men sunglasses    34788     745   men sunglasses  5000  15

Возможно ли, что частичное совпадение строки находится в середине текста в df1? например vakko men suits blue?   —  person muratmert41    schedule 23.05.2021

Читать:
Ошибка трассировки: ModuleNotFoundError: нет модуля с именем tenorflow.keras

@SeaBean Да. Когда я исследую набор данных, есть такие примеры.   —  person muratmert41    schedule 23.05.2021

Идентификаторы в том же порядке?   —  person muratmert41    schedule 23.05.2021

@AnuragDabas, к сожалению, нет. номера строк в обоих фреймах данных различаются   —  person muratmert41    schedule 23.05.2021

stackoverflow.com/a/60908516/14066512   —  person muratmert41    schedule 23.05.2021

Еще одна сложность: men suits в df2 не должен совпадать с abc women suits в df1, верно?   —  person muratmert41    schedule 23.05.2021

@SeaBean, да, я бы не хотел, чтобы это совпадало.   —  person muratmert41    schedule 24.05.2021

В таком случае вы не можете использовать большинство похожих ответов в StackOverflows, которые используют простой тест подстроки, например stringA in stringB. Такой вид теста завершится неудачно с ложным совпадением men suits в keyword с women suits в text, поскольку он возвращает True для теста 'men suits' in 'women suits'. Мы должны использовать регулярное выражение с учетом границы слова, чтобы избежать ложного совпадения.   —  person muratmert41    schedule 24.05.2021

Похожие записи

Как использовать clang с заголовками mingw-w64 в Windows

admin

Разделитель строк / разрыв в Discord.js встраивать сообщение

admin

Облачная функция firebase добавить в корзину Reactjs?

admin

Как проверить, содержит ли переменная прямоугольник в Pygame?

admin

Моя точность поезда остается на уровне 10%, когда я добавляю параметр weight_decay в свой оптимизатор в PyTorch. Я использую набор данных CIFAR10 и модель LeNet CNN

admin

WPF добавляет новую строку в заполненную таблицу данных из БД

admin