将数据框拆分为特定于参与者的数据框
您有一个包含 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中文网其他相关文章!