如何筛选与第二个DataFrame的Food列匹配的第一个DataFrame数据
Pandas筛选匹配行实现方案
现有两个DataFrame定义
DataFrame 1(new_df)
import pandas as pd new_data = { "Fruits": ['AB', 'AB','BC', 'CD','DE','EG'], "price": [50, 30, 45,55,47,43] } new_df = pd.DataFrame(new_data)
DataFrame 2(df)
data = { "Food": ['AB','AB','BC', 'CE','DE','EF','EM','FB'], "Calories": [150, 405, 450,55,47,43,43,23] } df = pd.DataFrame(data)
筛选实现代码
使用Pandas的isin()方法直接判断匹配关系,同时可调整列名匹配预期输出格式:
# 筛选Fruits列值存在于df的Food列中的行 filtered_df = new_df[new_df['Fruits'].isin(df['Food'])] # 重命名列名 filtered_df = filtered_df.rename(columns={"Fruits": "Fruit", "price": "Price"}) print(filtered_df)
执行结果
Fruit Price 0 AB 50 1 AB 30 2 BC 45 3 DE 47
内容的提问来源于stack exchange,提问作者Unknown person
相关产品推荐
相关产品推荐

