pandas 在jupyter中使用布尔索引和Groupby(),python

sd2nnvve  于 2023-05-12  发布在  Python
关注(0)|答案(1)|浏览(151)

我是python的新手,我已经过滤和整理了数据,并得到了想要的答案,但我试图在一行中完成。这里是示例过滤的 Dataframe :

designer
AMD                   16
ARM                    3
Acorn                  4
Acorn/DEC/Apple        1
Apple                 10
Bell Labs              1
DEC WRL                1
Fujitsu               10
Garrett AiResearch     1

代码获取:
df = cpu.groupby('Designer')['Processor'].nunique()我很难得到大于或等于2的值。
我用来获取值来实现它的代码:
df[df >= 2].count()有没有办法把这两行代码合并成一行
我试过使用布尔索引,但我迷路了。我试过的代码:
cpu[cpu.groupby('designer')['processor'].nunique()>1].count()但是它给了我一个我理解的错误。我尝试使用cpu ['designer']而不是cpu,但错误仍然存在。

kxxlusnw

kxxlusnw1#

你可以使用loc和一个可调用函数(lambda)来执行过滤,而不需要中间变量:

(cpu.groupby('Designer')['Processor'].nunique()  
    .loc[lambda df: df >= 2].count()
)

相关问题