pandas Series to Dataframe,使用Series的索引作为列

时间:2016-10-24 17:39:26

标签: python pandas

我有一个系列,像这样:

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?

4 个答案:

答案 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()