python - Pandas 选择根计数 3 次的行

标签 python pandas dataframe

举个例子:

df = pd.DataFrame({
    'file':['f1','f2','f3','f4','f5','f6','f7','f8','f9','f10','f11','f12'],
    'root':['root1','root1','root1','root2','root2','root2','root3','root4','root5','root6','root6','root6'],
})

我需要这样的输出:

    file    root
0   f1  root1
1   f2  root1
2   f3  root1
3   f4  root2
4   f5  root2
5   f6  root2
9   f10 root6
10  f11 root6
11  f12 root6

因为 root1/root2/root3 在列中计数 3 次

最佳答案

filter

此 API 是 groupby 对象的 filter 方法。
see also Split-Apply-Combine

df.groupby('root').filter(lambda x: x.size > 2)

   file   root
0    f1  root1
1    f2  root1
2    f3  root1
3    f4  root2
4    f5  root2
5    f6  root2
9   f10  root6
10  f11  root6
11  f12  root6

将一个可调用对象传递给 filter,它接受一个数据框作为参数并返回一个 bool 值。 groupby 然后仅返回那些可调用返回 True

的组

关于python - Pandas 选择根计数 3 次的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58454386/

相关文章:

python - 按嵌套字典键对 Pandas 数据框进行分组

python - 将单行地址拆分为其组成部分?我在考虑 reg-ex,但我不确定?

python - Pandas:基于 pandas 列中匹配子字符串的 Groupby

python - Pandas Dataframe 中的透视行

python - Matplotlib 不会在图表上绘制线条

Python groupby 结果计数频率

python - Pandas read_table 使用 MultiIndex 跳过行

python - 如何从基于行的字典列表创建 Pandas DataFrame

php - 在通过 HTML 上传的 CSV 上运行 Python 脚本

python - 如何用flask创建动态文件发送算法