我现在excel中有全国大学的名称,对应的招生专业(一个单元格可能一个专业,也可能多个专业),和对应的选科要求(例如不限、必选物理、必选物理和化学等等),我现在需要将这三个标签的数据按照学校名称和选科要求进行分组汇总他们的招生专业,如果直接对groupby对象使用sum()函数的话,每个单元格的招生专业就会不带任何符号连接在一起,怎么实现每个单元格招生专业汇总在一起时用顿号(、)连接在一起呢?
1条回答 默认 最新
- 此人真菜 2022-02-11 13:12关注
df=pd.DataFrame({'idx':[1,1,2],'a':['张三','李四','wangwu'],'b':['张三','李','wangwu'],'c':['张三','李四','wangwu']}) df=df.set_index('idx').applymap(lambda x:f'、{x}') df=df.groupby('idx').sum().replace(r'、(.*)',r'\1',regex=True)
思路是先把所有的元素变成、开头,可以用applymap或者relpalce,groupyby之后再把开头的、a去掉。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1