【发布时间】:2018-01-22 15:44:42
【问题描述】:
大家好,我想在我的代码中实现的这个函数有问题。假设我正在处理这个数据框。
df = pd.DataFrame([[100, 1],[100, 1],[200, 2],[200, 2],[200, 2]], columns=['a','b'])
现在我想先计算“a”列的唯一条目,然后过滤选择“a”列中大于 3 的元素
group=df.groupby('a').count()
filter=group['b'].isin([3])
所需的输出是一个列表,其中仅包含“a”系列中满足过滤条件的那些元素(名为“filter”),因此可以从这个新功能中过滤回初始过滤器,以便 i将只保留第 2、3、4 行(从零开始计数)。
我希望我的意图很明确,但当然,如果我从错误的角度处理问题,欢迎提出任何建议。
【问题讨论】:
-
“更简单的方法”是什么意思?你的代码不起作用。或者这应该是伪代码来说明,你试图做什么?也许您想阅读How to create a Minimal, Complete, and Verifiable example?
-
'一种更简单的方法'意味着我可能从错误的角度来解决问题......是的,这段代码实际上不起作用,所以意味着过滤后我无法返回过滤后的系列作为列表。
-
a.tolist()和filter.isin([3])由于不同的原因无法正常工作。我只能鼓励你阅读链接,我发布了。玩具数据输入/输出通常非常有助于说明问题。如果我是你,我会相应地编辑问题。 -
期望的输出是什么?结帐this SO page 了解如何创建一个好的示例。