首页 > 后端开发 > Python教程 > 如何根据参与者 ID 有效地将大型 Pandas DataFrame 拆分为较小的 DataFrame?

如何根据参与者 ID 有效地将大型 Pandas DataFrame 拆分为较小的 DataFrame?

DDD
发布: 2024-12-17 11:09:25
原创
667 人浏览过

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

将大型数据帧拆分为较小的数据帧

问题:

您有一个巨大的数据帧,其中包含超过 100 万条表示数据的记录来自 60 名参与者的实验。每个参与者都有一个唯一的代码存储在数据帧的“name”变量中。您的目标是将数据帧分为 60 个较小的数据帧,每个参与者一个。

原始尝试:

您通过名为 splitframe 的自定义函数实现此目的的初始方法没有实现执行后一小时内不会产生结果。该函数旨在循环遍历数据帧,迭代地将行附加到较小的数据帧并将它们添加到列表中,直到识别出新的参与者,此时它将为后续参与者创建一个新的数据帧。

使用数据帧切片的解决方案:

您可以采用更有效的方法,而不是迭代地分割数据帧数据帧切片。操作方法如下:

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]
登录后复制

结果:

此代码将创建一个名为 data_dict 的字典。字典中的每个键代表一个参与者名称,对应的值是一个 pandas 数据帧,其中包含该特定参与者的所有数据。您可以使用以下语法访问每个参与者的数据框:

participant_data = data_dict['ParticipantName']
登录后复制

以上是如何根据参与者 ID 有效地将大型 Pandas DataFrame 拆分为较小的 DataFrame?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板