我计算了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?
答案 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()