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

Python实现CSV单/双列带标签组合并输出至对应文件需求

用Python快速实现CSV列拆分与组合需求

嘿,我来给你个实用的Python方案,完美匹配你的需求——不管是单独提取每个特征列+label生成文件,还是两两特征列组合+label生成文件,都能轻松搞定。先给你搭好测试用的原始CSV数据,你可以直接用这个来验证效果:

F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,label
a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,L1
b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,L2

接下来直接上代码,我会分两部分解释,保证你一看就懂:

1. 生成单列+label的文件

我们用pandas来处理CSV,先安装pandas(如果没装的话:pip install pandas),然后运行下面的代码:

import pandas as pd

# 读取原始CSV文件
df = pd.read_csv("original.csv")  # 替换成你的原始文件名

# 遍历所有F列(F1到F10)
for i in range(1, 11):
    col_name = f"F{i}"
    # 选择当前列和label列
    single_col_df = df[[col_name, "label"]]
    # 保存为fileN.csv,比如file1.csv对应F1+label
    single_col_df.to_csv(f"file{i}.csv", index=False)

运行这段代码后,你会得到10个文件:file1.csv到file10.csv,每个文件里都是对应的单个特征列加上label列的数据。

2. 生成双列+label的文件

这部分需要用到itertools.combinations来生成所有两两特征列的组合,避免手动写所有配对:

import pandas as pd
from itertools import combinations

# 读取原始CSV文件
df = pd.read_csv("original.csv")

# 获取所有F列的列表
feature_cols = [f"F{i}" for i in range(1, 11)]
# 生成所有两两组合的列对
col_pairs = combinations(feature_cols, 2)

# 遍历每个组合,生成文件
for idx, pair in enumerate(col_pairs, start=1):
    # 组合列对 + label列
    double_col_df = df[[*pair, "label"]]
    # 保存为2C_fileN.csv,比如2C_file1.csv对应F1+F2+label
    double_col_df.to_csv(f"2C_file{idx}.csv", index=False)

这段代码会生成C(10,2)=45个文件,每个文件对应一对不同的特征列加上label列,文件名从2C_file1.csv到2C_file45.csv,完全覆盖所有双列组合的需求。

小提示

  • 记得把代码里的original.csv替换成你实际的原始CSV文件名。
  • 如果你的特征列不是严格的F1到F10,也可以调整feature_cols的生成方式,比如直接从df.columns里筛选包含"F"的列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:50:07