python - 从另一个数据框中查找匹配元素并返回其 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 |
解决方案
如果您有数据框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
推荐阅读
- react-native - 在 React Native 中将文本样式与样式化组件分开
- performance - 直接从 s3 与本地读取时的 FFMPEG 性能
- sql - Rails 5 Postgres:是否存在包含数据库约束?
- bluetooth - 如何在两个设备之间创建蓝牙 L2CAP 连接?
- php - 从 XML 文件中读取属性
- vue.js - 如何在 vue-class-component 中访问 v-model
- arrays - 神经网络输出形状不匹配
- azure-active-directory - 自定义 Azure B2C 注册策略 - 业务逻辑 API 的客户端凭据授权流程
- c++ - 如何在 C++ 中重新声明已创建的对象值
- sql - 更新列并立即使用结果更新同一语句中的第二列