Fügen Sie dem Pandas-Datenrahmen Metadaten hinzu

Hira Arif 15 Februar 2024
Fügen Sie dem Pandas-Datenrahmen Metadaten hinzu

Metadaten, auch bekannt als Daten über Daten, sind strukturierte Daten, die den Inhalt von Dokumenten beschreiben, lokalisieren und verwalten, die im Web durch Webpublishing geteilt werden.

Einige Webserver und Softwaretools können Metadaten automatisch generieren. Der manuelle Prozess ist jedoch auch machbar.

Es kann die Organisation, Auffindbarkeit, Zugänglichkeit, Indizierung und den Abruf eines Dokuments verbessern.

Der Pandas-Datenrahmen ist eine Datenstruktur, die auf dem Datenrahmen aufbaut und die Funktionalität sowohl von R-Datenrahmen als auch von Python-Wörterbüchern bereitstellt.

Es ist wie ein Python-Wörterbuch, verfügt jedoch über alle Funktionen zur Datenanalyse und -bearbeitung, wie Tabellen in Excel oder Datenbanken mit Zeilen und Spalten. In diesem Tutorial wird das Hinzufügen von Metadaten zu Pandas-Datenrahmen erläutert.

Fügen Sie dem Pandas-Datenrahmen Metadaten hinzu

Um Metadaten zu einem Datenrahmen hinzuzufügen, müssen wir die unten angegebenen Anforderungen erfüllen.

  1. Erstellen oder importieren Sie einen Datenrahmen.
  2. Vorhandene Metadaten des Datenrahmens lesen.
  3. Fügen Sie dem Datenrahmen Metadaten hinzu.

Erstellen oder importieren Sie einen Datenrahmen

Ein Datenrahmen ist erforderlich, um ihm Metadaten hinzuzufügen. Dazu müssen Sie eine Python-Bibliothek namens pandas installieren.

PS C:\> pip install pandas

Lassen Sie uns mit pandas einen Datenrahmen aus einer Datei lesen.

Beispielcode (gespeichert in demo.py):

import pandas as pd

df = pd.read_csv("Data.csv")
print(df)

Der obige Code importiert das Python-Paket pandas als pd. Die Funktion pd.read_csv() importiert einen Datenrahmen, liest ihn und speichert ihn in einer Variablen namens df.

Mal sehen, was pd ist.

Ausgabe (auf Konsole gedruckt):

Datenrahmen

Vorhandene Metadaten des Datenrahmens lesen

Der importierte Datenrahmen enthält auch einige vorhandene Metadaten. Wir können es anhand der unten angegebenen Codebeispiele anzeigen.

  1. Pandas info()-Funktion bietet eine schnelle Zusammenfassung des Datenrahmens. Es ruft Informationen wie max_cols, memory_usage, show_counts und null_counts ab.

    Lassen Sie uns den folgenden Code ausführen, der df.info() aufruft und ausgibt.

    Beispielcode (gespeichert in demo.py):

    print(df.info())
    

    Ausgabe (auf Konsole gedruckt):

    vorhandene Infos

  2. Pandas columns-Attribut gibt ein unveränderliches n-dimensionales Array geordneter Sätze namens Index zurück, das Beschriftungen jeder Datenrahmenspalte enthält. Lassen Sie uns den folgenden Code ausführen, der df.columns aufruft und einen Index druckt.

    Beispielcode (gespeichert in demo.py):

    print(df.columns)
    

    Ausgabe (auf Konsole gedruckt):

    Säulen

  3. Pandas describe()-Funktion generiert beschreibende Statistiken des Datenrahmens. Dazu gehören Anzahl, Mittelwert und Standardabweichung als std, min, max und Perzentile.

    Lassen Sie uns den folgenden Code ausführen, der df.describe() aufruft und ausgibt.

    Beispielcode (gespeichert in demo.py):

    print(df.describe())
    

    Ausgabe (auf Konsole gedruckt):

    Beschreibung

Fügen Sie dem Datenrahmen Metadaten hinzu

Lassen Sie uns den folgenden Code ausführen, um dem Pandas-Datenrahmen Metadaten hinzuzufügen.

Beispielcode (gespeichert in demo.py):

df.audi_car_model = "Q5"
df.audi_car_price_in_dollars = 119843.12
print(f"Car Model: {df.audi_car_model}")
print(f"Car Price ($): {df.audi_car_price_in_dollars}")

Ausgabe (auf Konsole gedruckt):

Metadaten eins

Hinweis: Python bietet keine leistungsstarke Methode zum Weitergeben von Metadaten an Datenrahmen.

Wenn Sie beispielsweise group_by auf einen Datenrahmen mit angehängten Metadaten anwenden, wird der vorherige Datenrahmen ohne angehängte Metadaten zurückgegeben.

Sie können die Metadaten jedoch für eine spätere Bearbeitung in einer HDF5-Datei speichern. Lassen Sie uns den folgenden Code ausführen, um Metadaten in einer HDF5-Datei zu speichern.

Beispielcode (gespeichert in demo.py):

def store_in_hdf5(filename, df, **kwargs):
    hdf5_file = pd.HDFStore(filename)
    hdf5_file.put("car_data", df)
    hdf5_file.get_storer("car_data").attrs.metadata = kwargs
    hdf5_file.close()


filename = "car data.hdf5"
metadata = {"audi_car_model": "Q5", "audi_car_price_in_dollars": 119843.12}
store_in_hdf5(filename, df, **metadata)

Die Funktion store_in_hdf5() führt die folgenden Funktionen aus:

  1. Erstellen Sie eine hdf5_file mit der Funktion pd.HDFStore() mit dem filename als Argument.
  2. Fügen Sie den Datenrahmen mit hdf5_file.put() in die Datei ein, indem Sie einen geeigneten Namen und df als Argumente verwenden.
  3. Metadaten in hdf5_file speichern. Es verwendet hdf5_file.get_storer('car_data').attrs.metadata und weist ihm metadata zu.
  4. Rufen Sie hdf5_file.close() auf, um die Datei zu schliessen.

Lassen Sie uns nun den folgenden Code ausführen, um den Datenrahmen und die Metadaten aus einer Datei zu importieren.

Beispielcode (gespeichert in demo.py):

def import_from_file(hdf5_file):
    data = hdf5_file["car_data"]
    metadata = hdf5_file.get_storer("car_data").attrs.metadata
    return data, metadata


filename = "car data.hdf5"
with pd.HDFStore(filename) as hdf5_file:
    data, metadata = import_from_file(hdf5_file)

print(f"Data: {data}")
print(f"Metadata: {metadata}")

Die Funktion import_from_file() nimmt die hdf5_file als Argument. Es ruft die folgenden Informationen ab:

  1. Daten durch Angabe des Namens der Daten in hdf5_file[].
  2. metadata durch Aufruf des metadata-Attributs der Funktion hdf5_file.get_storer('car_data').attrs.metadata.

Nun führen wir die Python-Datei demo.py wie folgt aus:

PS C:>python demo.py

Es druckt die Daten und Metadaten, die von der Funktion import_from_file() zurückgegeben werden.

Ausgabe (auf Konsole gedruckt):

Metadaten zwei