根据参与者 ID 将大型 DataFrame 拆分为单独的 DataFrame
考虑一个场景,其中您拥有一个巨大的 DataFrame,其中包含来自涉及 60 个实验的数据参与者。您的目标是将这个庞大的 DataFrame 分成 60 个不同的 DataFrame,每个 DataFrame 代表一个单独的参与者。一个重要的变量“名称”唯一标识 DataFrame 中的每个参与者。
使用自定义函数“splitframe”完成此任务的尝试已被证明是不成功的,这引发了更有效的解决方案的问题。
高级方法:数据帧切片
另一种策略涉及采用切片技术来分离数据帧。具体方法如下:
这种利用切片的方法提供了一种更直接、更高效的方法来为每个参与者创建单独的 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中文网其他相关文章!