You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用for循环按类别筛选行实现数据集子集化?

用循环/字典简化数据集子集化代码

方法一:手动指定国家+循环生成字典

原代码重复定义多个变量,用字典存储所有子集更整洁,也方便后续维护:

# 列出需要提取的国家(注意统一大小写,避免匹配失误)
target_countries = ["Belgium", "Norway", "Portugal"]
# 初始化空字典存子集
country_subsets = {}

for country in target_countries:
    # 统一转小写匹配,避免数据中大小写不一致的问题
    country_subsets[country] = df_sales[df_sales["Country"].str.lower() == country.lower()]

之后要调用某个国家的数据,直接用country_subsets["Belgium"]即可,不用单独记一堆变量名。

方法二:用groupby自动生成字典

如果想一次性处理所有国家,或者不确定具体要哪些,用groupby效率更高:

# 按Country分组后直接转成字典,键是国家名,值是对应数据框
country_subsets = dict(tuple(df_sales.groupby("Country")))

要是只需要特定几个国家,加个筛选就行:

target_countries = {"Belgium", "Norway", "Portugal"}
country_subsets = {k: v for k, v in df_sales.groupby("Country") if k in target_countries}

注意:原代码里"portugal"是小写,建议统一数据中的Country列大小写(比如df_sales["Country"] = df_sales["Country"].str.title()),避免出现匹配不到的情况。

内容的提问来源于stack exchange,提问作者David Gomez Bohorquez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 21:40:27