You need to enable JavaScript to run this app. pandas中如何获取附带对应列名的行数据值
优惠活动
大模型
产品
解决方案
定价
更多

pandas中如何获取附带对应列名的行数据值

Pandas 逐行生成「列名: 字段值」结构化文本实现方法

首先对齐输出格式的基础规则:原始数据集里小写的id列名需要转为全大写,和其他列的命名格式统一,匹配目标输出规范。

基础数据集准备

import pandas as pd

# 复现给出的原始数据集
df = pd.DataFrame({
    "FIRST_NAME": ["PAUL", "LAURA"],
    "LAST_NAME": ["OLSAN", "HINKLE"],
    "id": [54, 32]
})

# 列名转全大写,生成和目标一致的ID列名
df.columns = [col.upper() for col in df.columns]

文本生成实现

两种常用写法可按数据规模选择:

逐行遍历写法

逻辑直白,小数据量下调整格式非常方便:

case_texts = []
for _, row in df.iterrows():
    # 按列拼接「列名: 字段值」格式的单条案例文本
    single_case = "\n".join([f"{col} : {row[col]}" for col in df.columns])
    case_texts.append(single_case)

# 不同案例之间加空行分隔,方便单独复制单条内容
output = "\n\n".join(case_texts)
print(output)

运行后的输出完全匹配要求:

FIRST_NAME : PAUL
LAST_NAME : OLSAN
ID : 54

FIRST_NAME : LAURA
LAST_NAME : HINKLE
ID : 32

向量化写法

处理万行以上的大规模数据集时运行效率更高,无Python层循环开销:

# 按行应用格式规则生成案例文本
case_texts = df.apply(
    lambda row: "\n".join([f"{col} : {row[col]}" for col in df.columns]),
    axis=1
).tolist()

output = "\n\n".join(case_texts)

常用调整技巧

  • 冒号前后的空格可直接修改拼接字符串调整,需要紧凑格式就将f"{col} : {row[col]}"改为f"{col}:{row[col]}"
  • 生成的内容可直接导出为本地文本文件,补充以下代码即可:
    with open("case_details.txt", "w", encoding="utf-8") as f:
        f.write(output)
    
  • 案例间的空行分隔设计,支持直接框选单条案例的完整明细复制,粘贴后即可在下方补充案例分析内容,不需要手动逐字敲入字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.30 05:15:01