Ottieni valori unici Pandas in colonna e ordinali
-
Ottieni valori univoci nella colonna DataFrame di Pandas con il metodo
unique
-
Ottieni valori univoci nella colonna DataFrame di Pandas con il metodo
drop_duplicates
- Ordina una colonna in Pandas DataFrame
Questo articolo introdurrà come ottenere valori univoci nella colonna DataFrame di Pandas.
Ad esempio, supponiamo di avere un DataFrame composto da individui e le loro professioni e di voler conoscere il numero totale di professioni. In tal caso, non possiamo semplicemente utilizzare il conteggio totale delle righe per determinare il totale delle professioni uniche perché molte persone possono svolgere lo stesso lavoro. Per tali situazioni, possiamo usare le funzioni unique()
e drop_duplicates()
fornite dalla libreria Pandas.
È anche importante sapere come ordinare il tuo DataFrame poiché può aiutare a visualizzare e comprendere i dati. Le funzioni sort()
e sort_values()
possono aiutare a raggiungere questo obiettivo.
Ordineremo e rimuoveremo il seguente DataFrame in questo tutorial.
import pandas as pd
import numpy as np
df = pd.DataFrame({"A": [7, 1, 5, 4, 2, 1, 4, 4, 8], "B": [1, 2, 8, 5, 3, 4, 2, 6, 8]})
print(df)
Produzione:
A B
0 7 1
1 1 2
2 5 8
3 4 5
4 2 3
5 1 4
6 4 2
7 4 6
8 8 8
Ottieni valori univoci nella colonna DataFrame di Pandas con il metodo unique
Il metodo unique()
della serie Pandas viene utilizzato quando si tratta di una singola colonna di un DataFrame e restituisce tutti gli elementi univoci di una colonna. L’output finale che utilizza la funzione unique()
è un array.
Esempio:
import pandas as pd
import numpy as np
df = pd.DataFrame({"A": [7, 1, 5, 4, 2, 1, 4, 4, 8], "B": [1, 2, 8, 5, 3, 4, 2, 6, 8]})
print(df["A"].unique())
print(type(df["A"].unique()))
Produzione:
[7 1 5 4 2 8]
numpy.ndarray
Ottieni valori univoci nella colonna DataFrame di Pandas con il metodo drop_duplicates
drop_duplicates()
può essere applicato a DataFrame o al suo sottoinsieme e conserva il tipo di oggetto DataFrame. È anche considerata un’opzione più veloce quando si tratta di enormi set di dati per rimuovere i valori duplicati.
Esempio:
import pandas as pd
import numpy as np
df = pd.DataFrame({"A": [7, 1, 5, 4, 2, 1, 4, 4, 8], "B": [1, 2, 8, 5, 3, 4, 2, 6, 8]})
print(df.drop_duplicates(subset="A"))
print(type(df.drop_duplicates(subset="A")))
Produzione:
A B
0 7 1
1 1 2
2 5 8
3 4 5
4 2 3
8 8 8
pandas.core.frame.DataFrame
Ordina una colonna in Pandas DataFrame
Possiamo usare il metodo sorted()
per ordinare una colonna, ma converte il risultato finale in un oggetto di tipo lista. Possiamo anche ordinare i valori delle colonne in ordine decrescente mettendo il parametro reversed
come True
.
L’esempio seguente ordina la colonna in ordine crescente e rimuove i valori duplicati:
import pandas as pd
import numpy as np
df = pd.DataFrame({"A": [7, 1, 5, 4, 2, 1, 4, 4, 8], "B": [1, 2, 8, 5, 3, 4, 2, 6, 8]})
df_new = df.drop_duplicates(subset="A")
print(sorted(df_new["A"]))
print(type(sorted(df_new["A"])))
Produzione:
[1, 2, 4, 5, 7, 8]
list
sort_values()
è un’altra opzione flessibile per ordinare un DataFrame. Qui possiamo specificare la colonna da ordinare usando il parametro by
e se l’ordine è crescente o decrescente usando il parametro ascending
. Conserva il tipo di oggetto come Pandas DataFrame.
L’esempio seguente ordina la colonna in ordine decrescente e rimuove i valori duplicati:
import pandas as pd
import numpy as np
df = pd.DataFrame({"A": [7, 1, 5, 4, 2, 1, 4, 4, 8], "B": [1, 2, 8, 5, 3, 4, 2, 6, 8]})
df_new = df.drop_duplicates(subset="A")
print(df_new.sort_values(by="A", ascending=False))
type(df_new.sort_values(by="A"))
Produzione:
A B
8 8 8
0 7 1
2 5 8
3 4 5
4 2 3
1 1 2
pandas.core.frame.DataFrame
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArticolo correlato - Pandas DataFrame
- Come ottenere le intestazioni delle colonne DataFrame Pandas come lista
- Come cancellare la colonna DataFrame Pandas DataFrame
- Come convertire la colonna DataFrame in data e ora in pandas
- Converti un Float in un Integer in Pandas DataFrame
- Ordina Pandas DataFrame in base ai valori di una colonna
- Ottieni l'aggregato di Pandas Group-By e Sum