我有两行数据。我正在尝试将其转换为两个数据帧
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
答案 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