Ottieni valori univoci da una colonna in Pandas DataFrame

Ottieni valori univoci da una colonna in Pandas DataFrame

La funzione unique() rimuove tutti i valori duplicati su una colonna e restituisce un singolo valore per più valori uguali. In questo articolo discuteremo di come ottenere valori univoci da una colonna in Panda DataFrame .

Creazione di un dataframe Panda con elementi duplicati

Crea un dataframe Panda di esempio con un dizionario di elenchi, ad esempio i nomi delle colonne A, B, C, D ed E con elementi duplicati.

Python3




# Import pandas package> import> pandas as pd> # create a dictionary with five fields each> data> => {> > 'A'> : [> 'A1'> ,> 'A2'> ,> 'A3'> ,> 'A4'> ,> 'A5'> ],> > 'B'> : [> 'B1'> ,> 'B2'> ,> 'B3'> ,> 'B4'> ,> 'B4'> ],> > 'C'> : [> 'C1'> ,> 'C2'> ,> 'C3'> ,> 'C3'> ,> 'C3'> ],> > 'D'> : [> 'D1'> ,> 'D2'> ,> 'D2'> ,> 'D2'> ,> 'D2'> ],> > 'E'> : [> 'E1'> ,> 'E1'> ,> 'E1'> ,> 'E1'> ,> 'E1'> ]}> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)>

Ottieni valori univoci da una colonna in Pandas DataFrame

Di seguito sono riportati alcuni esempi con i quali possiamo ottenere i valori univoci di una colonna in questo dataframe.

  • Ottieni i valori univoci della colonna 'B'.
  • Ottieni i valori univoci della colonna 'E'.
  • Ottieni il numero di valori univoci in una colonna
  • Utilizzo di set() per eliminare i valori duplicati da una colonna
  • Utilizzo dei metodi pandas.concat() e Unique()
  • Utilizzando Series.drop_duplicates()

Ottieni i valori univoci della colonna 'B'.

In questo esempio, stiamo recuperando e stampando i valori univoci dalla colonna 'B' utilizzando il file unique()> metodo. I valori univoci risultanti sono ['B1', 'B2', 'B3', 'B4']> .

Python3




# Import pandas package> import> pandas as pd> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> # Get the unique values of 'B' column> df.B.unique()>

Produzione

array(['B1', 'B2', 'B3', 'B4'], dtype=object) 

Ottieni i valori unici dei panda nella colonna 'E'.

In questo esempio, creiamo un DataFrame panda da un dizionario e quindi recuperiamo i valori univoci dalla colonna 'E' utilizzando il comando unique()> metodo. I valori univoci risultanti sono ['E1']> .

Python3




# Import pandas package> import> pandas as pd> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> # Get the unique values of 'E' column> df.E.unique()>

Produzione

array(['E1'], dtype=object) 

Ottieni il numero di valori univoci in una colonna

In questo esempio, creiamo un DataFrame panda da un dizionario, quindi calcoliamo e stampiamo il numero di valori univoci nella colonna 'C', esclusi i valori NaN. Il risultato è 3, a indicare che sono presenti tre valori univoci nella colonna 'C'.

Python3




# Import pandas package> import> pandas as pd> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> # Get number of unique values in column 'C'> df.C.nunique(dropna> => True> )>

Produzione

3 

Elimina i valori duplicati da una colonna utilizzando set()

In questo esempio, creiamo un DataFrame panda da un dizionario e quindi utilizziamo il file set()> funzione per estrarre valori univoci dalla colonna 'C', eliminando i duplicati. L'insieme risultante, {'C1', 'C2', 'C3'}> , rappresenta i valori univoci nella colonna 'C'.

Python3




# Import pandas package> import> pandas as pd> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> # Use set() to eliminate duplicate values in column 'C'> unique_values_set> => set> (df[> 'C'> ])> # Print the unique values> print> (unique_values_set)>

Produzione

{'C1', 'C2', 'C3'} 

Utilizzo dei metodi pandas.concat() e Unique()

In questo esempio, creiamo un DataFrame panda da un dizionario e quindi concateniamo valori univoci da tutte le colonne utilizzando pd.concat()> . L'array NumPy risultante, una volta stampato, mostra tutti i valori univoci dalle colonne da 'A' a 'E'.

Python3




# Import pandas package> import> pandas as pd> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> # Use pd.concat() to concatenate all columns and then apply unique()> unique_values_all_columns> => pd.concat([df[col].unique()> for> col> in> df.columns])> # Print the unique values> print> (unique_values_all_columns)>

Produzione

['A1' 'A2' 'A3' 'A4' 'A5' 'B1' 'B2' 'B3' 'B4' 'C1' 'C2' 'C3' 'D1' 'D2' 'E1'] 

Utilizzando Series.drop_duplicates()

In questo esempio, creiamo un DataFrame panda da un dizionario e rimuoviamo i duplicati dalle colonne 'A' e 'D' utilizzando il metodo drop_duplicates()> metodo . Il DataFrame risultante, una volta stampato, mostra i valori univoci nelle colonne 'A' e 'D', con valori NaN in cui i duplicati sono stati rimossi da 'D'.

Python3




# Import pandas package> import> pandas as pd> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> # Use drop_duplicates() to remove duplicates from columns 'A' and 'D'> df[> 'A'> ]> => df[> 'A'> ].drop_duplicates()> df[> 'D'> ]> => df[> 'D'> ].drop_duplicates()> # Print the DataFrame after removing duplicates from columns 'A' and 'D'> print> (df)>

Produzione

   A B C D E   0 A1 B1 C1 D1 E1 1 A2 B2 C2 D2 E1 2 A3 B3 C3 NaN E1 3 A4 B4 C3 NaN E1 4 A5 B4 C3 NaN E1