首页 > 解决方案 > 将行插入到多索引数据帧,以便将其分组在正确的索引级别下

问题描述

我有这个多索引数据框:

                    Item Purchased  Cost
Location    Name        
Store 1     Chris   Dog Food        22.5
            Kevyn   Kitty Litter    2.5
Store 2     Vinod   Bird Seed       5.0

我可以像这样附加一个新行:

df = df.append(pd.Series(data={'Cost': 3.00, 'Item Purchased': 'Kitty Food'}, name=('Store 2', 'Kevyn')))

数据框如下所示:

                    Item Purchased  Cost
Location    Name        
Store 1     Chris   Dog Food       22.5
            Kevyn   Kitty Litter    2.5
Store 2     Vinod   Bird Seed       5.0
            Kevyn   Kitty Food      3.0

但是如果存储值是存储 1,而不是存储 2,它是最后一个存储,那么新数据(惊喜!)附加到末尾,并且不与存储 1 的数据分组。

df = df.append(pd.Series(data={'Cost': 4.50, 'Item Purchased': 'Dog Food'}, name=('Store 1', 'Doug')))

和数据框看起来像这样:

                    Item Purchased  Cost
Location    Name        
Store 1     Chris   Dog Food        22.5
            Kevyn   Kitty Litter    2.5
Store 2     Vinod   Bird Seed       5.0
            Kevyn   Kitty Food      3.0
Store 1     Doug    Dog Food        4.5

除了 append 之外,是否有其他方法可以在“Store1”索引下插入新行而不将“Store1”附加到 df 的末尾?谢谢你。

标签: pandasmulti-index

解决方案


推荐阅读