我有一个这样的数据框:
name time session1 session2 session3
Alex 135 10 3 5
Lee 136 2 6 4
我想基于每个会话制作多个数据框。例如,我想使一个具有name
,time
和session1
的数据框。数据帧2具有name
,time
和session2
。数据帧3具有name
,time
和session3
。我想使用for循环或其他任何方法都更好,但我不知道如何一次选择列1,2,3,而是一次选择列1,2,4等。任何人都对此有所了解。数据保存在pandas数据框中。我只是不知道如何在这里在Stackoverflow中键入它。谢谢
答案 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']]
如果您认为以下设计可以为您提供帮助,则可以将name
和time
设置为索引(df.set_index(['name', 'time'])
),而只需
df['session 1']