基于公共索引連接pandas列值

Input dataframe

A      B
n1     "joe,jack"
n2     "kelly,john"
n3     "adam,sam"
n1     "jack,frank"
n3     "rita"
n4     "steve, buck"
n2     "john, kelly, peter"

基于索引column A,我想用comma(,)分隔文本。因此,預期的輸出將如下所示(任何重復實例只執行一次)

A       B
n1      joe,jack,frank
n2      kelly,john,peter
n3      adam,sam,rita
n4      steve, buck
? 最佳回答:

如果順序不重要,則將GroupBy.agg與帶有拆分、設置理解和聯接的自定義函數一起使用:

f = lambda x: ','.join(set([z for y in x for z in y.replace(', ',',').split(',')]))
df = df.groupby('A')['B'].agg(f).reset_index()
print (df)
    A                 B
0  n1    jack,joe,frank
1  n2  john,kelly,peter
2  n3     adam,rita,sam
3  n4        steve,buck

如果順序對于刪除重復項很重要,請使用dict.fromkeys技巧:

f = lambda x:','.join(dict.fromkeys([z for y in x for z in y.replace(', ',',').split(',')]))
df = df.groupby('A')['B'].agg(f).reset_index()
print (df)
    A                 B
0  n1    joe,jack,frank
1  n2  kelly,john,peter
2  n3     adam,sam,rita
3  n4        steve,buck

公眾號:1024技術圈

?? 提供互聯網知識和資訊,分享IT前沿技術,熱門資源,大廠面試題 ??

主站蜘蛛池模板: 国产乱码精品一区二区三区四川人 | 波多野结衣AV一区二区三区中文| 成人久久精品一区二区三区| 国产成人免费一区二区三区| 国产高清一区二区三区| 大屁股熟女一区二区三区| 男人的天堂av亚洲一区2区| 亚洲一区二区三区免费观看| 日本在线不卡一区| 亚洲一区AV无码少妇电影☆| 欧洲精品一区二区三区在线观看| 性色AV一区二区三区无码| 国产一区二区三区乱码网站| 国产精品一级香蕉一区| 狠狠色综合一区二区| 国产经典一区二区三区蜜芽| 亚洲一区二区三区在线观看蜜桃| 久久久精品人妻一区二区三区| 台湾无码AV一区二区三区| 国产亚洲一区二区在线观看| 久久精品人妻一区二区三区| 亚洲高清偷拍一区二区三区| 亚州国产AV一区二区三区伊在| 亚洲一区二区高清| 国产一区二区三区高清视频| 精品一区二区三区在线视频| 无码人妻品一区二区三区精99 | 免费萌白酱国产一区二区三区 | 在线日产精品一区| 无码人妻精品一区二区蜜桃| 国产情侣一区二区| 亚洲欧美成人一区二区三区| 加勒比无码一区二区三区| 蜜桃视频一区二区| 国产精品一区三区| 久久精品亚洲一区二区| 国产免费一区二区三区| 国产在线观看91精品一区| 久久免费视频一区| 精品人妻码一区二区三区| AV天堂午夜精品一区二区三区|