Python Pandas - Suppression de Lignes à Partir d'Un DataFrame Basé sur un sous-ensemble Obtenu
Je suis en cours d'exécution Python 2.7
avec le Pandas 0.11.0
bibliothèque installée.
J'ai été la recherche autour d'un n'ai pas trouvé de réponse à cette question, alors j'espère que quelqu'un de plus expérimenté que moi a une solution.
Permet de dire mes données, en df1, se présente comme suit:
df1=
zip x y access
123 1 1 4
123 1 1 6
133 1 2 3
145 2 2 3
167 3 1 1
167 3 1 2
En utilisant, par exemple, df2 = df1[df1['zip'] == 123]
et puis df2 = df2.join(df1[df1['zip'] == 133])
j'ai le sous-ensemble de données:
df2=
zip x y access
123 1 1 4
123 1 1 6
133 1 2 3
Ce que je veux faire, c'est soit:
1) Supprimer les lignes de df1
qu'ils sont définis commencé avec df2
OU
2) Après df2
a été créé, supprimer les lignes (différence?) de df1
qui df2
est composé de
Espère que tout cela fait sens. S'il vous plaît laissez-moi savoir si d'info plus est nécessaire.
EDIT:
Idéalement une troisième dataframe serait de créer qui ressemble à ceci:
df2=
zip x y access
145 2 2 3
167 3 1 1
167 3 1 2
Qui est, tout de df1
pas dans df2
. Merci!
zip
colonne est de 123 ou 133 et un composé du reste?J'ai édité la question - ce que je cherche est en bas. Merci!
OriginalL'auteur DMML | 2013-05-23
Vous devez vous connecter pour publier un commentaire.
Deux options viennent à l'esprit. Tout d'abord, utilisez
isin
et d'un masque:Deuxièmement, l'utilisation
groupby
:et puis tout de
Qui fait le plus de sens dépend du contexte, mais je pense que vous obtenez l'idée.
OriginalL'auteur DSM