将lambda函数应用于列

2024-09-30 18:27:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧

   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

但我不知道如何运用它。你知道吗

谢谢你。你知道吗


Tags: 数据函数iddefrmlfavalues
2条回答

不要使用作为列名,它与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)

只需使用^{}访问器调用^{}。你知道吗

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'

相关问题 更多 >