Home > Backend Development > Python Tutorial > How Can I Efficiently Split a Pandas DataFrame into Participant-Specific DataFrames?

How Can I Efficiently Split a Pandas DataFrame into Participant-Specific DataFrames?

DDD
Release: 2024-11-30 20:07:14
Original
272 people have browsed it

How Can I Efficiently Split a Pandas DataFrame into Participant-Specific DataFrames?

Splitting Dataframe into Participant-Specific Dataframes

You have a large dataframe with data from 60 respondents and are seeking a way to divide it into individual dataframes for each participant. The unique code for each participant is stored in a variable called 'name.'

Initially, you attempted to use a custom function to append dataframes based on the 'name' variable, but the execution took an unusually long time.

A more efficient approach is to utilize slicing in Pandas DataFrame. The following code provides a solution:

import pandas as pd
import numpy as np

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

# Create a unique list of names
UniqueNames = data.Names.unique()

# Create a dictionary to store the split dataframes
DataFrameDict = {elem: pd.DataFrame() for elem in UniqueNames}

# Iterate through UniqueNames and slice the original data
for key in DataFrameDict.keys():
    DataFrameDict[key] = data[data.Names == key]

# Access a specific dataframe using its name
specific_dataframe = DataFrameDict['Joe']
Copy after login

This approach swiftly creates individual dataframes for each participant, with the 'Names' column used for slicing. The resulting dataframes are organized within a dictionary, DataFrameDict, allowing for easy access.

The above is the detailed content of How Can I Efficiently Split a Pandas DataFrame into Participant-Specific DataFrames?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template