【问题标题】:Filtering rows in a data frame based on value in the last column根据最后一列中的值过滤数据框中的行
【发布时间】:2021-06-28 13:19:50
【问题描述】:

如果最后一列中的单元格为空(Nan),我想删除数据框中的所有行。更多的列将被添加到数据中,所以我只希望它查看最后一列。

这是数据框 0 1 2 3 4 aa bb cc dd 1 ae we df gh Nan wr th fg rg Nan

以及预期的结果 0 1 2 3 4 aa bb cc dd 1

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    使用boolean indexingnotnaDataFrame.iloc 测试最后一列中是否没有缺失值:

    df1 = df[df.iloc[:, -1].notna()]
    

    或者在最后一列使用DataFrame.dropna

    df1 = df.dropna(subset=df.columns[-1])
    

    【讨论】:

    • 谢谢,布尔索引选项似乎对我有用。我也意识到我最后一列单元格中的一些数据我也不需要。我想删除最后一列具有无用值的所有行。请参阅下面的示例。基本上任何不是数字的东西对我来说都是无用的。 30 40 50 23 60 30 40 50 23 60 40 60 45 34 59 ----------> 40 60 45 34 59 RT FG BH RT DG 70 34 50 45 34 70 34 50 45 34 ER ER FT GH跳频
    • @barakagwiratabitha - 所以需要df1 = df[pd.to_numeric(df.iloc[:, -1], errors='coerce').notna()] 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    相关资源
    最近更新 更多