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(']',''))

合并前

pandas实现多行合并一行、一行拆分多行_第1张图片

合并后

pandas实现多行合并一行、一行拆分多行_第2张图片

一行拆分多行

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)

拆分前

pandas实现多行合并一行、一行拆分多行_第3张图片

拆分后

pandas实现多行合并一行、一行拆分多行_第4张图片

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

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

你可能感兴趣的:(数据预处理,python,pandas多行合并一行,pandas一行拆分多行)