Získejte jedinečné hodnoty ze sloupce v Pandas DataFrame
Funkce unique() odstraní všechny duplicitní hodnoty ve sloupci a vrátí jednu hodnotu pro více stejných hodnot. V tomto článku budeme diskutovat o tom, jak můžeme získat jedinečné hodnoty ze sloupce v Pandas DataFrame .
Vytvoření datového rámce Pandas s duplicitními prvky
Vytvořte ukázkový datový rámec Pandas se slovníkem seznamů, řekněme názvy sloupců A, B, C, D a E s duplicitními prvky.
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)> |
Získejte jedinečné hodnoty ze sloupce v Pandas DataFrame
Níže je uvedeno několik příkladů, pomocí kterých můžeme získat jedinečné hodnoty sloupce v tomto datovém rámci.
- Získejte jedinečné hodnoty sloupce „B“.
- Získejte jedinečné hodnoty sloupce „E“.
- Získejte počet jedinečných hodnot ve sloupci
- Použití set() k odstranění duplicitních hodnot ze sloupce
- Použití metod pandas.concat() a Unique().
- Použití Series.drop_duplicates()
Získejte jedinečné hodnoty sloupce „B“.
V tomto příkladu načítáme a tiskneme jedinečné hodnoty ze sloupce „B“ pomocí unique()> metoda. Výsledné jedinečné hodnoty jsou ['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()> |
Výstup
array(['B1', 'B2', 'B3', 'B4'], dtype=object)
Získejte jedinečné hodnoty pand ve sloupci „E“.
V tomto příkladu vytvoříme pandas DataFrame ze slovníku a poté načteme jedinečné hodnoty ze sloupce „E“ pomocí unique()> metoda. Výsledné jedinečné hodnoty jsou ['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()> |
Výstup
array(['E1'], dtype=object)
Získejte počet jedinečných hodnot ve sloupci
V tomto příkladu vytvoříme pandas DataFrame ze slovníku a poté vypočítáme a vytiskneme počet jedinečných hodnot ve sloupci ‚C‘, kromě hodnot NaN. Výsledek je 3, což znamená, že ve sloupci „C“ jsou tři jedinečné hodnoty.
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> )> |
Výstup
3
Odstranění duplicitních hodnot ze sloupce pomocí set()
V tomto příkladu vytvoříme pandas DataFrame ze slovníku a poté použijeme set()> funkce extrahovat jedinečné hodnoty ze sloupce „C“ a eliminovat duplicity. Výsledná sada, {'C1', 'C2', 'C3'}> , představuje jedinečné hodnoty ve sloupci „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)> |
Výstup
{'C1', 'C2', 'C3'} Použití metod pandas.concat() a Unique().
V tomto příkladu vytvoříme pandas DataFrame ze slovníku a poté zřetězíme jedinečné hodnoty ze všech sloupců pomocí pd.concat()> . Výsledné pole NumPy po vytištění zobrazí všechny jedinečné hodnoty ze sloupců „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)> |
Výstup
['A1' 'A2' 'A3' 'A4' 'A5' 'B1' 'B2' 'B3' 'B4' 'C1' 'C2' 'C3' 'D1' 'D2' 'E1']
Použití Series.drop_duplicates()
V tomto příkladu vytvoříme pandas DataFrame ze slovníku a odstraníme duplikáty ze sloupců „A“ a „D“ pomocí drop_duplicates()> metoda . Výsledný DataFrame po vytištění zobrazuje jedinečné hodnoty ve sloupcích „A“ a „D“ s hodnotami NaN, kde byly duplikáty odstraněny z „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)> |
Výstup
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