2017-07-11 2 views
0

Je suis sûr qu'il me manque une solution simple mais j'ai été incapable de comprendre ceci, et n'ai pas encore trouvé la réponse dans les questions existantes. (S'il est pas évident, je suis un hack et juste apprendre Python)Sous-ensemble un dataframe d'un second

Disons que j'ai deux trames de données (DataFileDF, SelectedCellsRaw) avec les deux mêmes domaines clés (MRBTS, LNCEL) et je veux un sous-ensemble de la première trame de données (DataFileDF) contenant uniquement les paires de clés correspondantes dans la deuxième trame de données. par exemple. lignes de DataFileDF avec des clés correspondant aux clés de Selected CellsRaw. Notez que ceci doit correspondre par paire de clés MRBTS + LNCEL pas chaque clé individuellement.

J'ai essayé: SelectedCellsRaw = DataFileDF.loc [.. DataFileDF [ 'MRBTS'] (selectedCells [ISIN 'MRBTS']) & DataFileDF [ 'LNCEL'] (selectedCells ISIN [ 'LNCEL'])]

J'obtiens les MRBTS, mais aussi toutes les occurrences de LNCEL (il y a une plage possible de 0-9, donc il y a beaucoup de doublons dans tout l'ensemble de données).

Répondre

0

Une façon vous pouvez faire est d'utiliser isin avec index:

joincols = ['MRBTS','LNCEL'] 

DataFileDF[DataFileDF.set_index(joincols).index.isin(SelectedCellsRaw.set_index(joincols).index)]