如何对DataFrame中region列同名数据分组并赋值给变量?
pandas 按region列对同名数据分组并赋值指定变量
假设你当前持有的包含region、year、grdp三列的DataFrame变量名为df,可以按以下两种方式实现需求:
方法1:批量生成分组字典(推荐,适配多区域取值场景)
用pandas内置的groupby方法按region列拆分,直接生成「区域名: 对应子数据集」的字典,后续按需取值赋值即可:
# 按region列分组,归集所有同名区域的数据 region_group_dict = {region_name: sub_df for region_name, sub_df in df.groupby("region", as_index=False)} # 提取"서울특별시"对应的所有行,赋值给指定变量 seoul_df = region_group_dict.get("서울특별시")
- 可以通过
region_group_dict.keys()查看所有已分组的区域名称,避免拼写错误导致取空值 - 其他区域的数据直接用对应名称当key取就行,不用重复写筛选逻辑
方法2:直接筛选特定区域(适配仅需提取个别固定区域的场景)
如果你只需要提取少数几个固定区域的数据,不用走全量分组逻辑,直接按列值筛选赋值即可:
# 筛选서울특별시对应的数据,重置索引避免后续处理出现索引问题 seoul_df = df[df["region"] == "서울특별시"].reset_index(drop=True)
拿到子数据集之后可以直接用print(seoul_df)验证结果,输出的就是对应区域所有行的三列数据,和预期的归集效果一致。
内容的提问来源于stack exchange,提问作者ksjsas
相关产品推荐
相关产品推荐

