gpt4 book ai didi

python - 获取 'pandas' 中对另一个变量为 True 的每个变量的比例

转载 作者:太空宇宙 更新时间:2023-11-04 06:05:36 24 4
gpt4 key购买 nike

我在 pandas 中有一个数据框,其中包括一个列“A”和一个 bool 值列“B”,我想找到至少某个数字的“A”的值, n, 行的“B”为真。

我能想到的最接近的是

df.query('B == True')['A'].value_counts()

然后查看数字,看看哪些大于 n。

是否有更 pythonic(或更多 ailuropodian)的方法来执行此操作(甚至可能是一种方法,它们只返回计数大于 n 的那些,或者是 True 的比例)?

最佳答案

这听起来类似于过滤器:

In [11]: df = pd.DataFrame([[1, True], [1, True], [2, False], [2, True]], columns=['A', 'B'])

In [12]: g = df.groupby('A')

In [13]: g.filter(lambda x: x['B'].sum() > 1)
Out[13]:
A B
0 1 True
1 1 True

要仅找到 A 为 True 的值,您可以使用 sum agg 方法:

In [21]: res = g.B.sum() > 1

In [22]: res[res]
Out[22]:
A
1 True
Name: B, dtype: bool

In [23]: res[res].index
Out[23]: Int64Index([1], dtype='int64')

关于python - 获取 'pandas' 中对另一个变量为 True 的每个变量的比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22311490/

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