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