枸杞77 2022-05-01 21:23 采纳率: 100%
浏览 453
已结题

pandas根据条件删除行

请问一下大家,pandas怎么根据条件只删除第一个满足该条件的行,而不是都删除呀?

  • 写回答

1条回答 默认 最新

  • ENGineer_zlshuo 2022-05-06 12:34
    关注
    import pandas as pd
    """原内容
       num  time
    0    1     6
    1    2     7
    2    3     8
    3    4     1
    """
    df = pd.read_excel('test.xlsx', sheet_name = 'Sheet1')  # 读取对应的表单
    rows = df.loc[df['time'].astype(int) > 5].index  # 筛选出所有满足条件的行索引,比如time列值大于5的行
    df.drop(index = rows[0], inplace = True)  # 只删除第一行
    print(df)
    """结果
       num  time
    1    2     7
    2    3     8
    3    4     1
    """
    df.reset_index(drop = True, inplace = True)  # 重置索引
    print(df)
    """结果
       num  time
    0    2     7
    1    3     8
    2    4     1
    """
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 7月19日
  • 已采纳回答 7月11日
  • 创建了问题 5月1日