更多、更及时内容欢迎留意微信公众号: 小窗幽记机器学习
背景
在pandas中对数据进行分组后,想要对相同组的数据进行其他字段的合并。类似场景:有2个字段,分别是文本内容和标签值。先根据文本内容进行分组,再对同一个组内的标签值进行合并,从而得到多标签值。
实施
测试:
import pandas as pd
df = pd.DataFrame({'text': ['华中科技大学', '武汉大学', '清华大学', '华中科技大学', '武汉大学'],
'label': ["985,理工", "985", "北京", "武汉", "武汉"]})
print("初始df:")
print(df)
new_df = df.groupby(['text'])
new_df = new_df['label'].apply(lambda x: ",".join(list(set(x.str.cat(sep=',').split(','))))).reset_index()
print("同组text,合并label之后的df:")
print(new_df)
输出结果:
初始df:
text label
0 华中科技大学 985,理工
1 武汉大学 985
2 清华大学 北京
3 华中科技大学 武汉
4 武汉大学 武汉
同组text,合并label之后的df:
text label
0 华中科技大学 武汉,985,理工
1 武汉大学 武汉,985
2 清华大学 北京
【更多、更及时内容欢迎留意微信公众号: 小窗幽记机器学习 】