如何基于值计数筛选Pandas DataFrame
筛选拥有5年及以上数据记录的公司
要实现你的需求,这里有两种实用方法:
方法一:基于你已有的company_count结果筛选
你已经通过value_counts()得到了符合条件的公司列表,只需要用isin()方法匹配这些公司名称就能过滤整个DataFrame:
# 提取符合条件的公司名称(即company_count的索引) qualified_companies = company_count.index # 筛选出这些公司的所有记录 filtered_df = reduced_df[reduced_df["Company_Name"].isin(qualified_companies)]
方法二:用groupby+filter一步到位
不用提前计算value_counts,直接对Company_Name分组后,过滤出记录数≥5的分组:
filtered_df = reduced_df.groupby("Company_Name").filter(lambda g: len(g) >= 5)
补充说明
- 方法一适合需要保留
company_count用于其他分析的场景; - 方法二更简洁,一步完成筛选逻辑,无需中间变量。
内容的提问来源于stack exchange,提问作者Julianne Gibson
相关产品推荐
相关产品推荐

