我确信我错过了一个简单的解决方案,但我无法弄清楚这一点,并且尚未在现有问题中找到答案。 (如果不明显,我是一个黑客,只是学习Python)
假设我有两个数据帧(DataFileDF,SelectedCellsRaw),它们具有相同的两个关键字段(MRBTS,LNCEL),我想要第一个数据帧的子集(DataFileDF),它只包含第二个数据帧中的相应密钥对。 例如具有与Selected CellRaw的键对应的Keys的DataFileDF行。 请注意,这需要通过密钥对MRBTS + LNCEL匹配,而不是单独匹配每个密钥。
我试过了: SelectedCellsRaw = DataFileDF.loc [DataFileDF ['MRBTS']。isin(SelectedCells ['MRBTS'])& DataFileDF [ 'LNCEL']。ISIN(了selectedCells [ 'LNCEL'])]
我得到了MRBTS,但也是LNCEL的每次出现(它的可能范围是0-9,所以整个数据集中有很多重复)。
答案 0 :(得分:0)
您可以采用的一种方法是将isin
与索引一起使用:
joincols = ['MRBTS','LNCEL']
DataFileDF[DataFileDF.set_index(joincols).index.isin(SelectedCellsRaw.set_index(joincols).index)]