Python 将相同的字符串附加到列中的字符串列表中

Python 将相同的字符串附加到列中的字符串列表中,python,pandas,Python,Pandas,我有一个df: a b c 0 'd' 1 ['f', 'h'] 1 'f' 2 ['u', 'v'] 2 'g' 3 ['i', 'o'] 我想将df['a']附加到df['c']列的每个元素。 预期产出: a b c d 0 'd' 1 ['f', 'h'] ['fd', 'hd'] 1 'f' 2 ['u', 'v'] ['uf', 'vf'] 2 'g' 3 ['i', 'o']

我有一个df:

    a   b       c
0  'd'  1  ['f', 'h']
1  'f'  2  ['u', 'v']
2  'g'  3  ['i', 'o']
我想将df['a']附加到df['c']列的每个元素。 预期产出:

    a   b       c          d
0  'd'  1  ['f', 'h']  ['fd', 'hd']
1  'f'  2  ['u', 'v']  ['uf', 'vf']
2  'g'  3  ['i', 'o']  ['ig', 'og']
我尝试了循环,尝试了列表理解,但这是垃圾。 为了避免for循环,我尝试了这种矢量化方法。但没有起作用

df['d']=df['c'].cat(df['a'],axis=0).values.tolist()

一如既往,非常感谢您的帮助。

我们可以使用
分解
取消列表,然后将字符串添加到一起,最后在索引上使用
groupby
,并使用
agg(list)
取回列表:

ex = df.explode('c')
ex['c'] = ex['c'] + ex['a']

df['c'] = ex.groupby(ex.index)['c'].agg(list)

我们可以使用
explode
取消列出列表,然后将字符串添加到一起,最后在索引上使用
groupby
,并使用
agg(list)
取回列表:

ex = df.explode('c')
ex['c'] = ex['c'] + ex['a']

df['c'] = ex.groupby(ex.index)['c'].agg(list)

这不是字符串列表的正确表示形式。字符串应该用括号括起来,比如
['f','h']
yes。对不起,陈述错误。请立即查找更新。这不是字符串列表的正确表示形式。字符串应该用括号括起来,比如
['f','h']
yes。对不起,陈述错误。请立即查找更新。