Pandas 如何将具有多索引的系列添加到数据帧中,并将其索引指定为系列的名称

Pandas 如何将具有多索引的系列添加到数据帧中,并将其索引指定为系列的名称,pandas,dataframe,multi-index,Pandas,Dataframe,Multi Index,我试图将一个具有多索引的系列添加到数据帧中,我想将新行的索引设置为系列的名称 stock factors dates a 0 2019-01-01 0.0 1 2019-01-01 27.0 0 2019-01-01 7.0 1 2019-01-01 24.0 我尝试的代码如下: series.name = 'Myindex' df = df.a

我试图将一个具有多索引的系列添加到数据帧中,我想将新行的索引设置为系列的名称

stock  factors  dates     
a      0        2019-01-01     0.0
       1        2019-01-01    27.0
       0        2019-01-01     7.0
       1        2019-01-01    24.0
我尝试的代码如下:

series.name = 'Myindex'
df = df.append(series)
目标是在现有数据框中添加一个新行,索引设置为“Myindex”

但是我有

TypeError: object of type 'int' has no len()

我相信您需要通过索引值在新的DataFrame中创建列,然后使用重命名:


数据帧看起来怎么样?你能添加1,2行数据样本吗?这是一个没有值的新数据帧。我发现真正的问题是,我有几个系列要添加到这个数据帧中,但它们具有不同的多索引。也许我应该在测试之前将它们的索引重置为相同的adding@Bubblethan-是的,您的解决方案对我有效,但这是必需的df=pd.DataFramecolumns=series。index@Bubblethan-一个想法-是否可以使用df=pd.DataFramecolumns=series1.index.unionseries2.index?
print (series)
stock  factors  dates     
a      0        2019-01-01     0.0
       1        2019-01-01    27.0
       0        2019-01-01     7.0
       1        2019-01-01    24.0
dtype: float64

df = pd.DataFrame(columns=series.index)

df = df.append(series.rename('Myindex'))
print (df)
stock            a                                 
factors          0          1          0          1
dates   2019-01-01 2019-01-01 2019-01-01 2019-01-01
Myindex        0.0       27.0        7.0       24.0