两种方式
apply()函数
agg()函数
代码及结果如下
import pandas as pd
data = pd.DataFrame({'id': [10001, 10001, 10002, 10002, 10002],
'skills': ['python', 'java', 'python', 'C++', 'java']})
In [7]: data
Out[7]:
id skills
0 10001 python
1 10001 java
2 10002 python
3 10002 C++
4 10002 java
In [10]: data.groupby('id')['skills'].apply(lambda x: x.str.cat(sep='|'))
Out[10]:
id
10001 python|java
10002 python|C++|java
Name: skills, dtype: object
In [11]: data.groupby('id')['skills'].apply(lambda x: x.str.cat(sep='|')).reset_index()
Out[11]:
id skills
0 10001 python|java
1 10002 python|C++|java
In [13]: data.groupby('id').agg({'skills': lambda x: x.str.cat(sep='|')})
Out[13]:
skills
id
10001 python|java
10002 python|C++|java
In [14]: data.groupby('id').agg({'skills': lambda x: x.str.cat(sep='|')}).reset_index()
Out[14]:
id skills
0 10001 python|java
1 10002 python|C++|java