首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大熊猫如何从聚合中按类别定位?

大熊猫如何从聚合中按类别定位?
EN

Stack Overflow用户
提问于 2018-01-08 19:23:29
回答 1查看 26关注 0票数 1

我有一些数据已经入库,然后按入库分组,使用.count对每个入库中的条目进行计数,并查询每个入库的样本数量

代码语言:javascript
复制
import pandas as pd
import numpy as np

A = np.random.random(10000)
bins = np.arange(0, max(A), 0.03)

data_bins = pd.cut(A, bins = bins, precision = 100)

df = pd.DataFrame({"A": A,
                   "bin":  data_bins})\
    .sort_values(by = ["bin"])\
    .reset_index(drop = True)\
    .dropna()

print(df.head())

# For example, only take bins with more than 310 entries in each
valid_bins = df.groupby("bin")[["A"]].count().query("A > 310")

print(valid_bins)

因此,现在我知道了在我的大型数据集中使用valid_bins查找哪些存储库。现在,我如何在原始df中仅定位这些存储箱?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-08 19:26:28

我认为Seriestransform需要和原始DataFrame的大小相同,所以可以按boolean indexing过滤吗

代码语言:javascript
复制
df1 = df[df.groupby("bin")["A"].transform('count') > 310]

或者将更灵活的解决方案与filtration配合使用

代码语言:javascript
复制
df1 = df.groupby("bin").filter(lambda x: x["A"].count() > 310)

print(df1.head())
            A           bin
674  0.080059  (0.06, 0.09]
675  0.074179  (0.06, 0.09]
676  0.062529  (0.06, 0.09]
677  0.087312  (0.06, 0.09]
678  0.070065  (0.06, 0.09]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48149306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档