首页 >后端开发 >Python教程 >如何有效地将 Pandas DataFrame 拆分为特定于参与者的 DataFrame?

如何有效地将 Pandas DataFrame 拆分为特定于参与者的 DataFrame?

DDD
DDD原创
2024-11-30 20:07:14273浏览

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

将数据框拆分为特定于参与者的数据框

您有一个包含 60 名受访者数据的大型数据框,正在寻求一种方法将其划分为每个参与者的单独数据框。每个参与者的唯一代码存储在名为“name”的变量中。

最初,您尝试使用自定义函数根据“name”变量附加数据帧,但执行时间异常长.

更有效的方法是利用 Pandas DataFrame 中的切片。以下代码提供了一个解决方案:

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']

这种方法可以快速为每个参与者创建单独的数据帧,并使用“名称”列进行切片。生成的数据帧被组织在字典 DataFrameDict 中,以便于访问。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn