gpt4 book ai didi

python - 计数后的 Pandas where 子句

转载 作者:行者123 更新时间:2023-11-28 16:27:47 25 4
gpt4 key购买 nike

我有一个名为 df 的 Pandas DataFrame:

   col_A id name
0 4 1 n1
1 39 2 n1
2 49 3 n2
3 1 4 n2
4 0 5 n2

假设在按 name 列分组后对 id 列进行count:

df.groupby('name')['id'].count()

这样我就可以得到每个 nameid 的不同计数。我明白了

name
n1 2
n2 3

然后我将如何根据计数(显然不是列)对我获得的这个帧进行排序?我想通过降序/升序对 if 进行排序,并且可能只检索满足特定 where 子句(比如那些 > 2)的计数。

最佳答案

返回的类型是一个 Series,您可以调用 sortsort_values (如果运行 0.17.0 或更高版本的 pandas)在此使用参数 ascending=True:

In [51]:
counts = df.groupby(['name'])['id'].count()
counts.sort_values(ascending=True)
counts

Out[51]:
name
n1 2
n2 3
Name: id, dtype: int64

您可以通过传递 bool 条件来生成掩码来过滤系列:

In [52]:
counts[counts > 2]

Out[52]:
name
n2 3
Name: id, dtype: int64

面具看起来像这样:

In [53]:
counts > 2

Out[53]:
name
n1 False
n2 True
Name: id, dtype: bool

关于python - 计数后的 Pandas where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35011442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com