python - Pandas groupby计数大于1

标签 python pandas

这肯定是一个简单的问题,但是,这使我有些困惑。

对于以下数据框:

df = pd.DataFrame({'c0': ['a','b','a'],'c1': ['a','bb','a'],'c2':[10,20,30]})
  c0  c1  c2
0  a   a  10
1  b  bb  20
2  a   a  30

如何获得count> 1的输出?

我试过了:
df.groupby(['c0','c1'])['c2'].count()
c0  c1
a   a     2
b   bb    1

必填项是:
c0  c1
a   a     2

我在寻找
x = df.groupby(['c0','c1'])['c2'].count()
x[x>1]

即单线回答。

最佳答案

GroupBy.transform 用于具有与原始DataFrame相同大小的Series:

df1 = df[df.groupby(['c0','c1'])['c2'].transform('count') > 1]

或使用 DataFrame.duplicated 通过列表中的指定列过滤所有重复行:
df1 = df[df.duplicated(['c0','c1'], keep=False)]

如果性能不重要或较小的DataFrame,请使用 DataFrameGroupBy.filter :
df1 = df.groupby(['c0','c1']).filter(lambda x: len(x) > 1)

关于python - Pandas groupby计数大于1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55360314/

相关文章:

python - Vim-plug 插件管理器无法在 YouCompleteMe 插件上使用更新后 Hook

python - 了解 datetime 模块中 datetime 类方法的用法,而无需创建实例

python - 删除压缩 DataFrame 元组中的空 DataFrame 对象

python - 将财政周数据汇总为 pandas 中的月度总和

python - 提高 Pandas 行最近邻居的性能

python - 如何在 Python 中使用 OpenCV 存储网络摄像头视频

具有格式化程序的 Python 日志记录模块导致 AttributeError

python - Subprocess.poll() 错误地返回一个值

python-2.7 - pandas 数据帧到 oracle - NotImplementedError

python - Pandas 对字符串列中以逗号分隔的整数求和