如何通过另一个DataFrame的行过滤目标DataFrame并生成指定数据集?
Pandas筛选目标文件数据方案
你可以通过以下两种常见方法从df1中筛选出df2包含的目标文件及其对应数据:
方法一:使用isin()方法直接筛选行
这种方法简单直接,先提取df2中的目标文件列表,再在df1中匹配:
import pandas as pd # 替换为你实际的列名,比如df1的文件列是'文件名',df2的是'目标文件' Wanted_df = df1[df1['文件名'].isin(df2['目标文件'])]
方法二:使用merge()做内连接
通过内连接自动匹配两个DataFrame中的相同文件,保留df1的所有数据列:
import pandas as pd # 按文件名列做内连接,left_on/right_on替换为实际列名 Wanted_df = pd.merge(df1, df2, left_on='文件名', right_on='目标文件', how='inner') # 若不需要df2的目标文件列,可删除 Wanted_df = Wanted_df.drop(columns=['目标文件'])
注意事项
- 确保两个DataFrame中用于匹配的文件列内容格式完全一致(比如大小写、后缀、路径是否统一),否则会出现匹配失败的情况。
- 根据你的实际列名替换代码中的
文件名和目标文件。
内容的提问来源于stack exchange,提问作者user
相关产品推荐
相关产品推荐

