【问题标题】:How to drop a Pandas row if a value is in a column [duplicate]如果值在列中,如何删除 Pandas 行[重复]
【发布时间】:2021-09-03 11:26:58
【问题描述】:

我有一个 Pandas 数据框,其中一列 director_name 包含电影导演,另一列 death_year 包含 NaN 或描述他们去世年份的浮点数(例如:1996.00)。如何删除所有拥有已死亡董事的行,如 death_year 列中的浮点数所表示的那样?

     nconst     director_name       birth_year       death_year 
0   nm0061671   Mary Ellen Bauder    1967.00            NaN     
1   nm0061865   Joseph Bauer          NaN             1996.00   
2   nm0062070   Bruce Baum           1981.00            NaN     
3   nm0062195   Axel Baumann          NaN             2015.00
4   nm0062798   Pete Baxter          1954.00            NaN 

因此,在上面的数据框中,第 1 行和第 3 行将被删除,因为 Joseph Bauer 于 1996 年去世,Axel Baumann 于 2015 年去世。结果是只有在世董事的数据框:

     nconst     director_name       birth_year       death_year 
0   nm0061671   Mary Ellen Bauder    1967.00            NaN     
1   nm0062070   Bruce Baum           1981.00            NaN     
2   nm0062798   Pete Baxter          1954.00            NaN 

DataFrame 很大,它包含太多行,无法通过物理方式检查并确保有人没有错误地输入死亡年份,例如 0000.000。

【问题讨论】:

  • 不完全一样@Chris。如果有人输入错误的信息并输入 0000.00 来表示某人死亡的年份怎么办?所以问题不同。请删除您的反对票。谢谢
  • 我上述评论@Chris 的 0000.00 部分的任何输入?

标签: python pandas dataframe multiple-columns rows


【解决方案1】:

您可以使用.loc.notna()

df.loc[df['birth_year'].notna()].reset_index(drop=True)

如果您想按死亡年份删除行,请使用 .isna()

df.loc[df['death_year'].isna()].reset_index(drop=True)

输出:

       nconst       director_name    birth_year   death_year 
0   nm0061671   Mary Ellen Bauder       1967.00          NaN     
1   nm0062070          Bruce Baum       1981.00          NaN     
2   nm0062798         Pete Baxter       1954.00          NaN

在这两种情况下,我们对您粘贴的样本都有相同的输出。您可以为整个数据框选择更适合使用的内容。

【讨论】:

    【解决方案2】:

    我注意到当 'death_year' 不是 NaN 时,birth_year 是。

    df.dropna(subset=['birth_year'], inplace=True)
    

    【讨论】:

    • 准确观察@chatax。那只是一个巧合。但我从你的回答中学到了一些东西,所以谢谢
    猜你喜欢
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    • 2018-04-10
    • 2022-01-12
    • 2020-04-19
    • 2021-01-08
    • 1970-01-01
    相关资源
    最近更新 更多