【问题标题】:Filter first row from specific grouped coulmn data从特定分组的列数据中过滤第一行
【发布时间】:2022-07-18 21:35:43
【问题描述】:

数据:

df = pd.DataFrame({
    name':['Jane','Jane','Mike','Mike','Jane','Jane','Jane','Mike','Mike','Jane','Jane','Jane']
    'ctg':['A','P','C','B','B','C','B','E','G','L','M','X'])

预期输出:

name ctg
Jane A
Jane B
Jane L

我是 python 新手,我想制作新的 Dataframe,其中只包含每个“Jane”名字的第一行。你能请任何人帮助我吗?

【问题讨论】:

    标签: python pandas database dataframe


    【解决方案1】:

    您可以使用带有掩码的自定义 groupby:

    mask = df['name'].eq('Jane')
    
    df[mask].groupby(df['name'].ne(df['name'].shift()).cumsum(), as_index=False).first()
    

    【讨论】:

      猜你喜欢
      • 2014-07-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-12
      • 1970-01-01
      • 2020-08-11
      • 1970-01-01
      • 2017-06-20
      • 2021-07-05
      相关资源
      最近更新 更多