web-dev-qa-db-fra.com

Obtenez des valeurs uniques de plusieurs colonnes en tant que nouvelle trame de données dans pandas

Ayant pandas data frame df avec au moins les colonnes C1, C2, C3 comment obtiendriez-vous toutes les valeurs uniques C1, C2, C3 en tant que nouveau DataFrame?

en d'autres termes, similaire à:

SELECT C1,C2,C3
FROM T
GROUP BY C1,C2,C3

J'ai essayé ça

print df.groupby(by=['C1','C2','C3'])

mais j'obtiens

<pandas.core.groupby.DataFrameGroupBy object at 0x000000000769A9E8>
11
Ofek Ron

Je crois que vous avez besoin de drop_duplicates si vous voulez tous les triplets uniques:

df = df.drop_duplicates(subset=['C1','C2','C3'])

Si vous voulez utiliser groupby add first :

df = df.groupby(by=['C1','C2','C3'], as_index=False).first()
18
jezrael