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

如何基于ID将Pandas原始DataFrame拆分为两个子DataFrame?

拆分Pandas DataFrame的实现方法

方法一:布尔索引直接匹配

适合id数量较少的场景,通过逻辑或运算符组合条件:

import pandas as pd

# 构造示例DataFrame(替换为你的实际数据即可)
data = {
    'id': [1,2,3,4,5],
    'cycle': [10,20,30,40,50],
    'Salary': [5000,6000,7000,8000,9000],
    'Children': [0,1,2,1,0],
    'Days': [22,21,23,20,22]
}
df = pd.DataFrame(data)

# 拆分出id为1、2、3的df1
df1 = df[(df['id'] == 1) | (df['id'] == 2) | (df['id'] == 3)]
# 拆分出id为4、5的df2
df2 = df[(df['id'] == 4) | (df['id'] == 5)]

方法二:使用isin()方法(更简洁)

当需要匹配的id数量较多时,用列表配合isin()更易维护:

# 定义目标id列表
target_ids_df1 = [1,2,3]
target_ids_df2 = [4,5]

# 拆分数据
df1 = df[df['id'].isin(target_ids_df1)]
df2 = df[df['id'].isin(target_ids_df2)]

可选:重置子DataFrame的索引

拆分后的子DataFrame会保留原数据的索引,若需要重置为连续索引,可执行:

df1 = df1.reset_index(drop=True)
df2 = df2.reset_index(drop=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 07:02:05