代码之家  ›  专栏  ›  技术社区  ›  Maryg

从一个数据帧创建多个数据帧

  •  0
  • Maryg  · 技术社区  · 6 年前

    我有这样一个数据帧:

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

    我想基于每个会话生成多个数据帧。例如,我想使dataframe name , time session1 . 数据帧2 , ,和 session2 , 时间 ,和 session3 . 我想用for循环或其他方法更好,但不知道如何选择列1,2,3一次,但列1,2,4等,任何人都知道。数据保存在dataframe中。我只是不知道怎么在这里输入Stackoverflow。谢谢你

    2 回复  |  直到 6 年前
        1
  •  1
  •   rafaelc    6 年前

    只要在需要的时候直接切片数据帧就行了。

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

    如果您认为下面的设计可以帮助您,您可以设置 name time df.set_index(['name', 'time'])

    df['session 1']
    
        2
  •  1
  •   sacuL    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