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

如何将含取值'1'-'4'列的单个DataFrame拆分为4个子DataFrame

解决方法:将DataFrame按指定列值拆分为多个子DataFrame

没问题,这事儿用Pandas处理超简单!我给你两种实用方案,根据你的场景选就行:

方法1:直接布尔索引筛选(适合类别数量少的情况)

如果你的目标列只有'1'到'4'这四个值,直接写条件筛选最直观。假设你的原始DataFrame叫df,目标列名为target_col(记得替换成你实际的列名):

import pandas as pd

# 拆分出各个子DataFrame
df1 = df[df['target_col'] == '1']
df2 = df[df['target_col'] == '2']
df3 = df[df['target_col'] == '3']
df4 = df[df['target_col'] == '4']

注意:因为你说列值是字符串类型的'1'到'4',所以条件里一定要用字符串比较,别写成数字1,否则会筛选不到数据哦。

方法2:用groupby批量生成(适合可扩展的场景)

如果以后你的列值可能增加,或者想更整洁地管理这些子DataFrame,推荐用groupby把结果存到字典里:

# 按目标列分组,自动生成键为'df1'、'df2'...的字典
sub_dfs = {f'df{val}': group for val, group in df.groupby('target_col')}

# 调用子DataFrame的方式
df1 = sub_dfs['df1']
df2 = sub_dfs['df2']

这种方式的好处是不用手动写每个筛选语句,不管有多少个类别都能自动处理,而且用字典管理子DataFrame更不容易混乱。

内容的提问来源于stack exchange,提问作者Isoka05m

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 22:47:47