【问题标题】:multiple get_group with different column values but 1 column具有不同列值但 1 列的多个 get_group
【发布时间】:2021-09-27 18:17:56
【问题描述】:

我很难找到一个直截了当的答案。我想要做的是获取具有 125 的 Keycode 列值的行和具有 175 的 Keycode 列值的行,并将它们放入 1 个数据框中。我认为它会是这样的,但我的想法是不正确的。我只将 125 输出到数据框。提前感谢您的任何帮助或称我为无脑...

groups = df.groupby(df.Keycode) # Keycode is the column label I grouped on
onetwofive = groups.get_group('125') # 125 is the column value I'm wanting to pull out
onetwofive.append(groups.get_group('175'))  # 175 is the column value I'm wanting to pull out and append with the 125 group

【问题讨论】:

    标签: python pandas dataframe pandas-groupby


    【解决方案1】:

    使用.isin:

    output = df[df["Keycode"].isin([125,175])]
    

    【讨论】:

    • 这是更好的答案,因为它的可扩展性明显更高。
    【解决方案2】:

    这应该可行:

    df[(df.Keycode==125) | (df.Keycode==175)]
    

    示例:

    df=pd.DataFrame({'ID':[0,1,2,3,4,5,6,7,8,9], 'Keycode':[125,137,122,125,175,148,175,231,201,150], 'foobar':['f','o','o','b','a','r','f','o','o','b']})
    
    df[(df.Keycode==125) | (df.Keycode==175)]
    

    df:

    ID Keycode foobar
    0 125 f
    1 137 o
    2 122 o
    3 125 b
    4 175 a
    5 148 r
    6 175 f
    7 231 o
    8 201 o
    9 150 b

    输出:

    ID Keycode foobar
    0 125 f
    3 125 b
    4 175 a
    6 175 f

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-16
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多