Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich einen großen Datenrahmen effizient in einzelne Datenrahmen nach Teilnehmer-ID aufteilen?

Wie kann ich einen großen Datenrahmen effizient in einzelne Datenrahmen nach Teilnehmer-ID aufteilen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-30 10:25:09750Durchsuche

How Can I Efficiently Split a Large DataFrame into Individual DataFrames by Participant ID?

Aufteilen eines riesigen DataFrames in einzelne DataFrames nach Teilnehmer-ID

Stellen Sie sich ein Szenario vor, in dem Sie über einen riesigen DataFrame verfügen, der Daten aus einem Experiment mit 60 Teilnehmern enthält Teilnehmer. Ihr Ziel ist es, diesen umfangreichen DataFrame in 60 verschiedene DataFrames zu unterteilen, die jeweils einen einzelnen Teilnehmer darstellen. Eine wesentliche Variable, „Name“, identifiziert jeden Teilnehmer innerhalb des DataFrame eindeutig.

Ein Versuch, diese Aufgabe mithilfe einer benutzerdefinierten Funktion, „Splitframe“, zu erfüllen, hat sich als erfolglos erwiesen, was die Frage nach einer effizienteren Lösung aufwirft.

Ein überlegener Ansatz: Data Frame Slicing

Eine alternative Strategie beinhaltet die Verwendung von Slicing Techniken zum Trennen des DataFrame. So geht's:

  1. Generieren Sie mithilfe der Spalte „Names“ des DataFrames eine eindeutige Liste von Teilnehmernamen („UniqueNames“).
  2. Erstellen Sie ein Wörterbuch, um die einzelnen DataFrames unterzubringen die Liste „UniqueNames“ als Schlüssel.
  3. Durchlaufen Sie jeden Teilnehmernamen und weisen Sie die entsprechenden Daten einem separaten DataFrame innerhalb zu Wörterbuch.

Dieser Ansatz, der Slicing verwendet, bietet eine einfachere und effizientere Methode zum Erstellen individueller DataFrames für jeden Teilnehmer:

# Create a DataFrame with a 'Names' column
data = pd.DataFrame({
    'Names': ['Joe', 'John', 'Jasper', 'Jez'] * 4,
    'Ob1': np.random.rand(16),
    'Ob2': np.random.rand(16)
})

# Extract unique participant names
UniqueNames = data['Names'].unique()

# Initialize a dictionary to store individual DataFrames
DataFrameDict = {elem: pd.DataFrame() for elem in UniqueNames}

# Populate the dictionary with individual DataFrames
for key in DataFrameDict.keys():
    DataFrameDict[key] = data[data['Names'] == key]

Zugriff auf einzelne DataFrames

Um auf einen bestimmten DataFrame für einen bestimmten Teilnehmer zuzugreifen, verwenden Sie einfach den Wörterbuchschlüssel, der dem Namen des Teilnehmers entspricht, wie gezeigt unten:

DataFrameDict['Joe']

Das obige ist der detaillierte Inhalt vonWie kann ich einen großen Datenrahmen effizient in einzelne Datenrahmen nach Teilnehmer-ID aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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