pandas实现多行合并一行、一行拆分多行

多行合并一行

import pandas as pd
#构造数据
data=pd.DataFrame({'id':[1,1,2,2],'品牌':['A','B','C','D']})

#合并数据
data_new=data.groupby(['id'])['品牌'].apply(list).to_frame()
data_new['品牌']=data_new['品牌'].apply(lambda x:str(x).replace('[','').replace(']',''))

合并前

合并后

一行拆分多行

import pandas as pd
#构造数据
data=pd.DataFrame({'id':['t1','t2'],'品牌':['A,B','C,D,E']})

#拆分数据
data_pinpai = data['品牌'].str.split(',', expand=True)
data_pinpai = data_pinpai.stack()
data_pinpai = data_pinpai.reset_index(level=1, drop=True)
data_pinpai=data_pinpai.to_frame().rename({0:'品牌'},axis=1)
data_new = data.drop(['品牌'], axis=1).join(data_pinpai)

拆分前

拆分后

如果对你有帮助,请点下赞,予人玫瑰手有余香!

时时仰望天空,理想就会离现实越来越近!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章