У меня одна ситуация в пандах. У меня есть файл Excel, имеющий столбец с именем item
, в нем есть текст. У меня есть другой фрейм данных, имеющий столбец с именем brand
. Я хотел добавить название бренда перед столбцом товара, если в тексте столбца товара есть строка бренда.
Вот мой снимок файла Excel.
![enter image description here](https://i.stack.imgur.com/K6euX.png)
Мой бренд данных выглядит так, как показано ниже.
brand_df = pd.DataFrame({'brand':['spark','hadoop','hive']})
Я хотел проверить, существует ли марка brand_df
в item_df
или нет. Если бренд существует, то он должен находиться под именем update_column
перед пунктом, как показано ниже.
![enter image description here](https://i.stack.imgur.com/40oQr.png)
Что касается pandas doc, мы понимаем, что для достижения этой цели нам необходимо отобразить карту, но моя функция карты выглядит следующим образом.
self.item_df['updated_column'] = self.item_df["item"].map(lambda x : 'spark' if 'spark' in x else 'hive' if 'hive' in x else 'hadoop' if 'hadoop' in x else '' )
В приведенной выше команде проблема в том, что будет очень трудно работать, если у вас длинный список брендов.
Может кто-нибудь предложить мне лучший способ решения этой проблемы.
Текстовая версия содержимого Excel
item
hadoop is fast
hive is sql on hdfs
spark is superfast
spark is awesome
AWS is emr function