如何将Pandas DataFrame列转换为含列名的键值对字符串(OpenAI训练)
Pandas 生成含列名的键值对拼接列
方法1:逐行处理(适合小数据集)
直接用apply遍历每一行,按格式拼接列名和对应值:
import pandas as pd df = pd.DataFrame({'foo':['a','b','c'], 'bar':[1, 2, 3], 'new':['apple', 'banana', 'pear']}) df['prompt'] = df.apply(lambda row: f"foo: {row['foo']}, bar: {row['bar']}", axis=1)
方法2:矢量化拼接(大数据集推荐)
利用Pandas的矢量化字符串操作,效率比apply高很多:
df['prompt'] = "foo: " + df['foo'] + ", bar: " + df['bar'].astype(str)
方法3:动态适配多列(灵活扩展)
如果需要拼接的列不止foo和bar,可以通过列名列表动态生成,避免硬编码:
target_cols = ['foo', 'bar'] df['prompt'] = df[target_cols].apply( lambda row: ', '.join([f"{col}: {row[col]}" for col in target_cols]), axis=1 )
执行后得到的DataFrame会新增prompt列,格式与需求完全一致:
bar foo new prompt 0 1 a apple foo: a, bar: 1 1 2 b banana foo: b, bar: 2 2 3 c pear foo: c, bar: 3
内容的提问来源于stack exchange,提问作者g1soori
相关产品推荐
相关产品推荐

