我有一个像这样的数据帧:

upper    level1    level2
lower    name      name
1        Mary      Tom
2        ...       ...

如果我想在 level1 下添加另一列应该怎么做?例如
upper    level1       level2
lower    name    age  name
1        Mary    13   Tom
2        ...    ...    ...

我可以使用 df['level1'].loc[:,'name'] 访问数据,但我不知道如何添加/删除列。

如果我只使用 df.level1['age']=1 ,Python 会返回一个复制警告并且 DataFrame 中没有任何变化:
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
if __name__ == '__main__':

最佳答案

试试这个:

df.insert(1, ('level1', 'age'), pd.Series([13]))

关于python - 如何将一列添加到多索引 DataFrame?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38231809/

10-11 07:37