熊猫-将行转换为不同的数据框

时间:2019-04-25 11:36:39

标签: pandas transpose

我有两行数据。我正在尝试将其转换为两个数据帧

col1,col2,col3
1,2,3
4,5,6

我试图在上面执行转置功能,并将其拆分为两个数据帧。

当我进行简单的移调时,我得到以下内容:

col1,1,4
col2,2,5
col3,3,6

我正在尝试根据数据行数执行转置,并将它们分成不同的数据帧。

预期输出:

Dataframe1:

col1,1
col2,2
col3,3

Dataframe2:

col1,4
col2,5
col3,6

2 个答案:

答案 0 :(得分:1)

您可以为DataFrames字典创建字典理解:

print (dfs[0])
      0
col1  1
col2  2
col3  3

print (dfs[1])
      1
col1  4
col2  5
col3  6

DataFrame

如果需要从原始print (df.loc[[0]].T) 0 col1 1 col2 2 col3 3 print (df.loc[[1]].T) 1 col1 4 col2 5 col3 6 中提取数据帧:

ctx.LoadStoredProc("dbo.ListAll")
   .AddParam("limit", 300L)
   .AddParam("limitOut", out IOutParam<long> limitOut)
   .Exec(r => rows = r.ToList<Model>());

long limitOutValue = limitOut.Value;

ctx.LoadStoredProc("dbo.ReturnBoolean")
   .AddParam("boolean_to_return", true)
   .ReturnValue(out IOutParam<bool> retParam)
   .ExecNonQuery();

bool b = retParam.Value;

ctx.LoadStoredProc("dbo.ListAll")
   .AddParam("limit", 1L)
   .ExecScalar(out long l);

答案 1 :(得分:1)

您可以访问数据框的shape并获取列数,然后使用iloc将每一列作为数据框提取到新列表中:

t = df.T

dfs = [t.iloc[:, x:x+1] for x in range(t.shape[1])]

print(dfs[0], '\n')
print(dfs[1])

      0
col1  1
col2  2
col3  3 

      1
col1  4
col2  5
col3  6