如何将pandas系列附加到DataFrame?

时间:2019-04-04 01:40:56

标签: python pandas dataframe

我知道之前曾有人问过这个问题,但这些问题似乎都不适合我。我有一个名为state的系列,看起来像:

cash          17378.787327
num_shares      895.000000
cost_basis      102.153149
open_price      106.300003
close_10        108.889999
close_9         109.790001
close_8         109.209999
close_7         108.230003
close_6         109.330002
close_5         108.080002
close_4         106.910004
close_3         106.419998
close_2         104.410004
close_1         106.650002
dtype: float64

我想将其附加到DataFrame上,所以我有:

X = pd.DataFrame()
X.append(state)

但这会导致错误TypeError: Can only append a Series if ignore_index=True or if the Series has a name,因此我尝试:

X.append(state, ignore_index=True)

这实际上并没有在X后面附加任何内容:

Empty DataFrame
Columns: []
Index: []

我做错了什么?

5 个答案:

答案 0 :(得分:0)

您应该能够执行X ['state'] = state

答案 1 :(得分:0)

一个数据框不止一列,因此您可以尝试以下操作:

X=pd.concat([X,state], axis=1)


答案 2 :(得分:0)

使用

state.name=0
X = pd.DataFrame()
X.append(state)

答案 3 :(得分:0)

好像您希望将标签和值都附加到数据框。您需要重置Series index

state.reset_index()

答案 4 :(得分:0)

这就是我最终要做的:

X = X.append([state], ignore_index=True)