将熊猫系列转换为一行

时间:2019-12-19 08:45:48

标签: python pandas dataframe

我计算了DatFrame的平均值,该平均值导致了如下所示的Series对象:

means.sort_index()
0000    0.000204
0100   -0.000083
0200   -0.000260
0300   -0.000667
0400   -0.000025
0500    0.000127
0600    0.000227
0700   -0.000197
0800   -0.000497
0900   -0.000321
1000   -0.000520
1100    0.000562
1200   -0.000107
1300    0.000202
1400   -0.000445
1500    0.000665
1600    0.000288
1700   -0.000183
1800    0.000157
1900    0.000145
2000   -0.000206
2100    0.000388
2200    0.000363
2300    0.000297
dtype: float64

我想将此行作为一行添加到DataFrame中,但是,我需要对其进行转换,以便每个索引都是一列。也就是说,我得到了以索引为列的一行DataFrame。我完成了一个透视操作,生成了一个24x24矩阵,然后可以df.ffill().bfill()进入第一行,但是有点脏。 means.T也不起作用。

如何将以上内容转换为以列为索引的1行DataFrame?

1 个答案:

答案 0 :(得分:2)

Series.to_frame用于一列DataFrame,然后按DataFrame.T进行转置:

s = means.sort_index()
df = s.to_frame().T

或者:

df = pd.DataFrame([s.tolist()], columns=s.index)

但是如果要向DataFrame添加新行,可以使用:

df.loc['avg'] = means

或者:

df.loc['avg'] = df.mean()