【问题标题】:Getting only n Number of values per Index with pandas使用 pandas 仅获取每个索引的 n 个值
【发布时间】:2019-08-28 06:43:56
【问题描述】:

我有一个流动的系列:

               Data
Level1 Level2
A        A1      10
         A2      11
         A3      12
         A4      13
B        B1      14
         B2      15
         B3      16
         B4      17
         B5      18

我只想获得每个级别 2 的前三个条目,同时保持级别 1 不变。

             Data
Level1 Level2
A        A1      10
         A2      11
         A3      12
B        B1      14
         B2      15
         B3      16

我尝试使用 iloc 或 loc 或 indexslice 但我没有使用正确的语法。我是熊猫新手。这是课程中的一项作业,我花了更多时间尝试,但我无法弄清楚。

【问题讨论】:

  • 有正确的缩进,因为MultiIndex.

标签: python pandas


【解决方案1】:

第一级使用GroupBy.head

df1 = df.groupby(level=0).head(3)

如果使用pandas 0.24+:

df1 = df.groupby('Level1').head(3)

【讨论】:

    【解决方案2】:
    df.groupby('Level1').head(3).reset_index(drop=True)
    

    【讨论】:

    • 请尝试添加更多关于您如何得出此答案的信息,并说明为什么此解决方案是正确的,请参阅How to Answer
    猜你喜欢
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-23
    • 2022-01-10
    • 2022-10-02
    • 2020-07-29
    相关资源
    最近更新 更多