首页 > 解决方案 > 从另一个数据框中查找匹配元素并返回其 id-python

问题描述

我有一个订单数据框:

项目 聊天ID
豆腐,瓦达,米饭 74374374h4473
无所事事,水鹿 7949759459h34

我有另一个具有自己特定 ID 的独特菜单项数据框:

ID 项目
1 无所事事
2 瓦达
3 白饭
4 凝乳
5 水鹿

现在我想通过在订单数据框中打印它的chat_id来匹配元素并返回它的id

聊天ID ID
74374374h4473 4
74374374h4473 2
74374374h4473 3
7949759459h34 1
7949759459h34 5

标签: pythonpandasdataframedata-science

解决方案


如果您有数据框df_orders

            items        chat_id
0  curd,vada,rice  74374374h4473
1     idly,sambar  7949759459h34

和数据框df_menu

   id   items
0   1    idly
1   2    vada
2   3    rice
3   4    curd
4   5  sambar

然后:

df_orders["items"] = df_orders["items"].str.split(",")
df_orders = df_orders.explode("items")
print(df_orders.merge(df_menu, on="items")[["chat_id", "id"]])

印刷:

         chat_id  id
0  74374374h4473   4
1  74374374h4473   2
2  74374374h4473   3
3  7949759459h34   1
4  7949759459h34   5

推荐阅读