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)

拆分前

拆分後

如果對你有幫助,請點下贊,予人玫瑰手有餘香!

時時仰望天空,理想就會離現實越來越近!

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