Python 从一个数据帧创建多个数据帧
我有这样一个数据帧:Python 从一个数据帧创建多个数据帧,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有这样一个数据帧: name time session1 session2 session3 Alex 135 10 3 5 Lee 136 2 6 4 我想根据每个会话生成多个数据帧。例如,我想使数据帧成为一个具有名称、时间和会话1的数据帧。数据帧2有名称,时间,和会话2。数据帧3有名称,时间,和会话3。我想使用for循环或其他方法更好,但不知道如何
name time session1 session2 session3
Alex 135 10 3 5
Lee 136 2 6 4
我想根据每个会话生成多个数据帧。例如,我想使数据帧成为一个具有
名称
、时间
和会话1
的数据帧。数据帧2有名称
,时间
,和会话2
。数据帧3有名称
,时间
,和会话3
。我想使用for循环或其他方法更好,但不知道如何一次选择列1、2、3,而是列1、2、4等等。任何人都知道这一点。数据保存在数据框中。我只是不知道如何在这里输入Stackoverflow。谢谢将其组织到数据帧字典中:
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
将其组织到数据帧字典中:
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
我认为你不需要为此编写新的词典 只要在需要时直接切片数据帧即可
df[['name', 'time', 'session 1']]
如果您认为以下设计可以帮助您,您可以将名称
和时间
设置为索引(df.set_index(['name',time'])
),只需简单地
df['session 1']
我认为你不需要为此编写新的词典 只要在需要时直接切片数据帧即可
df[['name', 'time', 'session 1']]
如果您认为以下设计可以帮助您,您可以将名称
和时间
设置为索引(df.set_index(['name',time'])
),只需简单地
df['session 1']
非常感谢你!这很有帮助!我优先考虑设置索引的方法!非常感谢你!这很有帮助!我优先考虑设置索引的方法!我有一个关于f'df{I}是什么意思的问题?我尝试了这个方法,但是得到了一个关于无效语法的错误?这是一个
f-string
,它可以从python 3.6以后获得。你可以使用'df{}。格式(i)
代替标题,我想问一下f'df{i}是什么意思?我尝试了这个方法,但是得到了一个关于无效语法的错误?这是一个f-string
,它可以从python 3.6以后获得。您可以使用'df{}。格式(i)