Datenwerte in Pandas faktorisieren
In diesem Tutorial lernen wir, Pandas zu faktorisieren. Wir werden die Funktion pandas.factorize()
verwenden, um die Aufgabe auszuführen.
Durch das Erkennen unterschiedlicher Werte hilft die Methode pandas.factorize()
dabei, die numerische Darstellung eines Arrays zu erhalten.
Zuerst werden wir die Bibliotheken Pandas
und numpy
sowie andere benötigte Bibliotheken importieren.
import numpy as np
import pandas as pd
from pandas.api.types import CategoricalDtype
Verwenden Sie die pandas.factorize()
-Funktion in Pandas
Jetzt übergeben wir eine Liste mit den Zeichen an die Funktion factorize()
, die uns die Labels und die eindeutigen Werte zurückgibt. Wir werden die Labels und eindeutigen Werte separat ausgeben.
labels, uniques = pd.factorize(["b", "d", "d", "c", "a", "c", "a", "b"])
Der obige Code gibt uns die Liste der numerischen Darstellungen von Zeichen und der eindeutigen Werte zurück.
Lassen Sie uns die Ausgabe mit dem folgenden Code sehen.
print("Numeric Representation : \n", labels)
print("Unique Values : \n", uniques)
Numeric Representation :
[0 1 1 2 3 2 3 0]
Unique Values :
['b' 'd' 'c' 'a']
Wir können das Alphabet auch mit dem folgenden Code sortieren.
labels, uniques = pd.factorize(["b", "d", "d", "c", "a", "c", "a", "b"], sort=True)
Wir werden die folgende Ausgabe für die obige Änderung haben.
Numeric Representation :
[1 3 3 2 0 2 0 1]
Unique Values :
['a' 'b' 'c' 'd']
Wir können auch Kategorien verwenden, um die Datenwerte in eine Kategorie einzuteilen, und in diesem Fall unterscheiden sich die eindeutigen Werte. Zu diesem Zweck verwenden wir die Funktion pd.Categorical()
, um unsere Datenwerte zu teilen.
a = pd.Categorical(["a", "a", "c"], categories=["a", "b", "c"])
label3, unique3 = pd.factorize(a)
Sehen wir uns nun die Ausgabe des obigen Codes an.
Numeric Representation :
[0 0 1]
Unique Values :
['a', 'c']
Categories (3, object): ['a', 'b', 'c']
Wir können in der obigen Ausgabe sehen, dass unsere eindeutige Werteliste nur die eindeutigen Werte enthält.
Daher können wir die Datenwerte mithilfe von Pandas mit den folgenden Ansätzen faktorisieren.