我正在为openai模型训练准备数据集。例如,我有以下格式的csv数据
df = DataFrame({'foo':['a','b','c'], 'bar':[1, 2, 3], 'new':['apple', 'banana', 'pear']})
df
bar foo new
0 1 a apple
1 2 b banana
2 3 c pear
我想创建一个名为“prompt”的新列,并将bar列和foo列的值合并
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
有一个类似的示例here,但它没有在组合列中添加列名
3条答案
按热度按时间enyaitl31#
df.apply
非常流行,但是should be avoided whenever possible。使用向量化方法,将相关列转换为dict并去掉引号:
注意你的评论中有大括号,但你的文章没有,如果你还想去掉大括号,把它们加到正则表达式中:
详细信息
首先转换按索引定向的相关列
to_dict
:然后使用
astype
将其转换为str
类型,并使用replace
转换dict符号:ndh0cuux2#
这会有用吗?你会得到:
bksxznpy3#
使用apply和
lambda
合并一行中的多个单元格这样行吗