从一个创建多个数据框

时间:2018-09-20 22:48:34

标签: python python-3.x pandas dataframe

我有一个这样的数据框:

name   time    session1    session2    session3
Alex   135      10             3           5
Lee    136       2             6           4

我想基于每个会话制作多个数据框。例如,我想使一个具有nametimesession1的数据框。数据帧2具有nametimesession2。数据帧3具有nametimesession3。我想使用for循环或其他任何方法都更好,但我不知道如何一次选择列1,2,3,而是一次选择列1,2,4等。任何人都对此有所了解。数据保存在pandas数据框中。我只是不知道如何在这里在Stackoverflow中键入它。谢谢

2 个答案:

答案 0 :(得分:1)

将其组织成数据帧字典:

dict_of_dfs = {f'df {i}':df[['name','time', i]] for i in df.columns[2:]}

然后,您可以像访问任何其他字典值一样访问每个数据框:

>>> dict_of_dfs['df session1']
   name  time  session1
0  Alex   135        10
1   Lee   136         2
>>> dict_of_dfs['df session2']
   name  time  session2
0  Alex   135         3
1   Lee   136         6

答案 1 :(得分:1)

我认为您不需要为此创建新的词典。

仅在需要时直接切片数据框。

df[['name', 'time', 'session 1']]

如果您认为以下设计可以为您提供帮助,则可以将nametime设置为索引(df.set_index(['name', 'time'])),而只需

df['session 1']