Pandas 如何在数据框中删除与特定组/数据相关的行(数据)?
在以下数据框中, 在下面的示例中,我只需要ID 1的数据,并删除其余数据。如何做到这一点Pandas 如何在数据框中删除与特定组/数据相关的行(数据)?,pandas,dataframe,Pandas,Dataframe,在以下数据框中, 在下面的示例中,我只需要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
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
所有数据帧都有一个drop方法,它可以做您想要做的事情
对于您的特定情况,如果您确实希望删除数据,而不是将其过滤到不同的数据帧,则可以使用以下代码段:
df.drop(df[df['ID'] != 1].index, inplace = True)
应该有效。使用布尔表示法
df[df['ID']==1]谢谢,它成功了。我可以问一下为什么在这里使用.index吗?从文档中可以看出,DataFrame.drop方法要么接受index来删除整行,要么接受列标签来删除列。因为您想要删除整行,所以我们需要使用索引。这是低效的。为什么不:df[df.ID==1]
df.loc[df['ID'].eq(1)]