Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich einen großen Pandas-DataFrame basierend auf Teilnehmer-IDs effizient in kleinere DataFrames aufteilen?

Wie kann ich einen großen Pandas-DataFrame basierend auf Teilnehmer-IDs effizient in kleinere DataFrames aufteilen?

DDD
Freigeben: 2024-12-17 11:09:25
Original
724 Leute haben es durchsucht

How Can I Efficiently Split a Large Pandas DataFrame into Smaller DataFrames Based on Participant IDs?

Aufteilen großer Datenrahmen in kleinere Datenrahmen

Problem:

Sie haben einen riesigen Datenrahmen mit über 1 Million Datensätzen, die Daten darstellen aus einem Experiment mit 60 Teilnehmern. Jeder Teilnehmer verfügt über einen eindeutigen Code, der in der Variablen „name“ des Datenrahmens gespeichert ist. Ihr Ziel ist es, den Datenrahmen in 60 kleinere Datenrahmen zu unterteilen, einen für jeden Teilnehmer.

Ursprünglicher Versuch:

Ihr ursprünglicher Ansatz, dies durch eine benutzerdefinierte Funktion namens Splitframe zu erreichen, war erfolgreich Keine Ergebnisse innerhalb einer Stunde nach der Ausführung erzielen. Die Funktion sollte den Datenrahmen durchlaufen, iterativ Zeilen an kleinere Datenrahmen anhängen und sie einer Liste hinzufügen, bis ein neuer Teilnehmer identifiziert wurde. An diesem Punkt würde ein neuer Datenrahmen für den nachfolgenden Teilnehmer erstellt.

Lösung mit Dataframe Slicing:

Anstatt den Datenrahmen iterativ aufzuteilen, können Sie einen effizienteren Ansatz mithilfe von Datenrahmen verwenden schneiden. So können Sie es machen:

import pandas as pd

# Create a list of unique participant names
unique_names = data['name'].unique()

# Initialize a dictionary to store the split dataframes
data_dict = {}

# Iterate over the unique names
for name in unique_names:
    # Create a new dataframe by slicing the original dataframe
    data_dict[name] = data[data['name'] == name]
Nach dem Login kopieren

Ergebnis:

Dieser Code erstellt ein Wörterbuch namens data_dict. Jeder Schlüssel im Wörterbuch stellt einen Teilnehmernamen dar, und der entsprechende Wert ist ein Pandas-Datenrahmen, der alle Daten für diesen bestimmten Teilnehmer enthält. Sie können auf den Datenrahmen jedes Teilnehmers zugreifen, indem Sie die folgende Syntax verwenden:

participant_data = data_dict['ParticipantName']
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich einen großen Pandas-DataFrame basierend auf Teilnehmer-IDs effizient in kleinere DataFrames aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage