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