将Pandas数据帧转换为单行DataFram

2024-05-15 17:55:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我见过类似的问题,但我的问题更直接和抽象。在

我有一个有“n”行的数据帧,“n”是一个小的数字。我们可以假设索引只是行号。 我想把它转换成一行。在

例如,如果我有

A,B,C,D,E
---------
1,2,3,4,5
6,7,8,9,10
11,12,13,14,5

因此,我想要一个具有单行的数据帧:

^{pr2}$

在大熊猫身上最惯用的方法是什么?在


Tags: 数据方法数字惯用行号大熊猫单行pr2
3条回答

取消堆叠和映射,即

ndf = df.unstack().to_frame().T

ndf.columns = ndf.columns.map('{0[0]}_{0[1]}'.format) 

    A_0  A_1  A_2  B_0  B_1  B_2  C_0  C_1  C_2  D_0  D_1  D_2  E_0  E_1  E_2
0    1    6   11    2    7   12    3    8   13    4    9   14    5   10    5

如果您需要排序的列,那么可以这样做

^{pr2}$

我们需要stack和{}

df1=df.stack().swaplevel()
df1.index=df1.index.map('{0[0]}_{0[1]}'.format) 
df1.to_frame().T
Out[527]: 
   A_0  B_0  C_0  D_0  E_0  A_1  B_1  C_1  D_1  E_1  A_2  B_2  C_2  D_2  E_2
0    1    2    3    4    5    6    7    8    9   10   11   12   13   14    5

或者你可以用numpy

^{pr2}$

让我们试试这个,使用stackto_frame,和T:

df.index = df.index + 1
df_out = df.stack()
df_out.index = df_out.index.map('{0[1]}_{0[0]}'.format)
df_out.to_frame().T

输出:

^{pr2}$

相关问题 更多 >