【问题标题】:How to drop rows (data) in pandas dataframe with respect to certain group/data? [duplicate]关于某些组/数据,如何在熊猫数据框中删除行(数据)? [复制]
【发布时间】:2023-04-04 12:35:01
【问题描述】:

在以下 pandas 数据框中, 在下文中,我只想要 ID 1 的数据并删除其余数据。如何实现?

ID   name  s1       s2       s3       s4

1   Joe   rd       fd       NaN      aa
1   Joe   NaN      hg       kk       NaN
2   Ann   jg       hg       zt       uz
2   Mya   rd       fd       NaN      aa
1   Uri   gg       r        er       rt
4   Ron   hr       t        yt       rt

【问题讨论】:

  • df[df['ID'] == 1]

标签: pandas dataframe


【解决方案1】:

使用boolean índexing

 df.loc[df['ID'].eq(1)]

【讨论】:

    【解决方案2】:

    所有数据框都有一个drop 方法,可以做你想做的事。

    对于您的具体情况,如果您真的想删除数据而不是将其过滤到不同的数据帧,那么以下 sn-p:

    df.drop(df[df['ID'] != 1].index, inplace = True)
    

    应该可以。

    【讨论】:

    • 谢谢,它成功了。我能问一下你为什么在这里使用“.index”吗?
    • 从文档中,DataFrame.drop() 方法接受索引(删除整行)或列标签(删除列)。由于您想删除整行,我们需要使用索引。
    • 这是低效的
    • 为什么不:df[df.ID==1]
    猜你喜欢
    • 2016-02-17
    • 1970-01-01
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-05
    • 2021-11-03
    • 2021-10-31
    相关资源
    最近更新 更多