我有一个系列,像这样:
series = pd.Series({'a': 1, 'b': 2, 'c': 3})
我想将其转换为如下数据框:
a b c
0 1 2 3
pd.Series.to_frame
不起作用,结果如,
0
a 1
b 2
c 3
如何从Series构建DataFrame,其索引为Series?
答案 0 :(得分:17)
你也可以试试这个:
df = DataFrame(series).transpose()
使用transpose()函数可以交换索引和列。 输出如下:
a b c
0 1 2 3
答案 1 :(得分:2)
你也可以试试这个:
a = pd.Series.to_frame(series)
a['id'] = list(a.index)
说明:
第一行将系列转换为单列DataFrame
第二行向此DataFrame添加一列,其值与索引相同。
答案 2 :(得分:2)
您不需要转置步骤,只需将Series包裹在列表中并将其传递给DataFrame
构造函数即可:
pd.DataFrame([series])
a b c
0 1 2 3
或者,调用Series.to_frame
,然后使用快捷方式.T
进行移调:
series.to_frame().T
a b c
0 1 2 3
答案 3 :(得分:1)
尝试reset_index。它将把您的索引转换为数据框中的一列。
df = series.to_frame().reset_index()