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

如何按ID首字符将数据集拆分为u开头、s开头的两个独立数据集

按ID首字符拆分数据集实现方法

你用Python最常用的表格处理库pandas就能轻松完成这个需求,具体操作步骤如下:

  • 第一步:安装pandas(如果还没安装,执行以下命令)
    pip install pandas
  • 第二步:导入库并读取数据集,如果你已经把数据存为csv格式,直接按路径读取即可:
import pandas as pd
# 替换引号里的内容为你自己的文件实际路径
df = pd.read_csv("你的文件路径.csv")

如果是直接用你给出的样本做测试,也可以直接构造DataFrame:

import pandas as pd

data = [
    ["u123456", 10.00, 0.00, 21],
    ["s123457", 6.80, 9.40, 30],
    ["u123458", 13.35, 20.00, 25],
    ["u123459", 0.00, 10.15, 24],
    ["u123460", 4.50, 8.09, 21],
    ["u123461", 5.50, 13.30, 14],
    ["u123462", 20.00, 12.75, 16],
    ["s123463", 20.00, 17.50, 22],
    ["u123464", 11.75, 17.30, 31],
    ["s123465", 0.00, 12.65, 15]
]
df = pd.DataFrame(data, columns=["ID", "A1", "A2", "Exam"])
  • 第三步:按ID首字符拆分,用pandas自带的字符串匹配方法即可:
# 分组1:ID以u开头的数据集
group_u = df[df["ID"].str.startswith("u")]
# 分组2:ID以s开头的数据集
group_s = df[df["ID"].str.startswith("s")]

代码逻辑说明:df["ID"].str.startswith("u")会返回一串布尔值,ID首字符为u的对应位置是True,否则是False,把这串布尔值放进df的方括号里,就能筛选出所有对应为True的行。

  • 可选操作:如果需要把拆分后的两个数据集单独保存为文件,执行以下代码:
# index=False的作用是不把原始的行号写入文件,不需要可以去掉这个参数
group_u.to_csv("u开头的数据集.csv", index=False)
group_s.to_csv("s开头的数据集.csv", index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:15:05