我有一个数据帧df
id values
1 34 ['de, fa qe', 'ml, fr']
2 45 ['op er, qe', 'm, qn', 'asd, qwe, zxc']
我想结束:
id values
1 34 ['de, fa qe, ml, fr']
2 45 ['op er, qe, m, qn, asd, qwe, zxc']
我正考虑使用此功能
merger=lambda x, y:x+y
但我无法弄清楚如何应用它。
谢谢。
答案 0 :(得分:3)
df = pd.DataFrame({'id': [34, 45],
'values': [['de, fa qe', 'ml, fr'],
['op er, qe', 'm, qn', 'asd, qwe, zxc']]})
>>> df['values'].str.join(', ')
0 de, fa qe, ml, fr
1 op er, qe, m, qn, asd, qwe, zxc
Name: values, dtype: object
>>> df['values'].str.join(', ').iat[-1]
'op er, qe, m, qn, asd, qwe, zxc'
答案 1 :(得分:2)
不要使用值作为列名,它与DataFrame属性值冲突。
如果你有DataFrame:
id column1
1 34 ['de, fa qe', 'ml, fr']
2 45 ['op er, qe', 'm, qn', 'asd, qwe, zxc']
它只是在你想要的系列上使用apply方法。例如:
merger=lambda x: [''.join(s) for s in x]
df.column1 = df['column1'].apply(merger)