从熊猫数据框中删除特定的行

卡舒吉

我有一个pd.DataFrame,每行都有学生的考试成绩指标。每个学生都有一个唯一的ID,每个学生都有一个唯一的行来回答他们在考试中解决的问题。例如,ID为“ a1a1”的学生尝试了两个问题,而ID为“ w2e3”的学生仅尝试了一个问题。(样本df)

在此处输入图片说明

我想找到尝试解决少于3个问题的学生,并从数据框中删除与他们相关的行。如何使用pd.DataFrame方法执行此操作?

标记

使用value_counts()studentID

import pandas as pd

df = pd.DataFrame({'studentID':['a','a','a','b','b','b', 'c'],
                   'problemID':[1,2,3,1,2,3,1]})
print(df)
tmp = df['studentID'].value_counts()
tmp = tmp[tmp >= 3]
new_df = df[df['studentID'].isin(tmp.index)]
print(new_df)

输出:

  studentID  problemID
0         a          1
1         a          2
2         a          3
3         b          1
4         b          2
5         b          3
6         c          1

  studentID  problemID
0         a          1
1         a          2
2         a          3
3         b          1
4         b          2
5         b          3

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章