首页 > 后端开发 > Python教程 > 如何通过参与者 ID 有效地将大型 DataFrame 拆分为单独的 DataFrame?

如何通过参与者 ID 有效地将大型 DataFrame 拆分为单独的 DataFrame?

Mary-Kate Olsen
发布: 2024-12-30 10:25:09
原创
747 人浏览过

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

根据参与者 ID 将大型 DataFrame 拆分为单独的 DataFrame

考虑一个场景,其中您拥有一个巨大的 DataFrame,其中包含来自涉及 60 个实验的数据参与者。您的目标是将这个庞大的 DataFrame 分成 60 个不同的 DataFrame,每个 DataFrame 代表一个单独的参与者。一个重要的变量“名称”唯一标识 DataFrame 中的每个参与者。

使用自定义函数“splitframe”完成此任务的尝试已被证明是不成功的,这引发了更有效的解决方案的问题。

高级方法:数据帧切片

另一种策略涉及采用切片技术来分离数据帧。具体方法如下:

  1. 使用 DataFrame 的“Names”列生成参与者姓名的独特列表(“UniqueNames”)。
  2. 利用 DataFrame 建立一个字典来容纳各个 DataFrame将“UniqueNames”列表作为键。
  3. 迭代每个参与者名称并将相应的数据分配给单独的字典中的 DataFrame。

这种利用切片的方法提供了一种更直接、更高效的方法来为每个参与者创建单独的 DataFrame:

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

访问单独的 DataFrame

要访问特定参与者的特定 DataFrame,只需使用与参与者姓名,如下所示:

DataFrameDict['Joe']
登录后复制

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

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