[英]Python Pandas Column remove special character and arrange values
我有一個如下所示的數據框。
columnA columnB columnC
[['Beauty & Wellness/Beauty Mavens', '21', '17', '22'], ['Beauty & Wellness/Frequently Visits Salons', '22', '21', '25']] GA_All_B2B_Visitors_Jan20 2020-01-10 to 2020-01-15
[['Banking & Finance/Avid Investors', '585', '455', '700'], ['Beauty & Wellness/Beauty Mavens', '414', '339', '467']] GA_Oven_Page_Visitors_Nov2019 2020-01-10 to 2020-01-15
我正在嘗試將其安排為如下所示,但我從哪里開始卡住了:
columnA cola colb colc columnB columnC
Beauty & Wellness/Beauty Mavens 21 17 22 GA_All_B2B_Visitors_Jan20 2020-01-10 to 2020-01-15
Beauty & Wellness/Frequently Visits Salons 22 21 25 GA_All_B2B_Visitors_Jan20 2020-01-10 to 2020-01-15
Banking & Finance/Avid Investors 585 455 700 GA_Oven_Page_Visitors_Nov2019 2020-01-10 to 2020-01-15
Beauty & Wellness/Beauty Mavens 414 339 467 GA_Oven_Page_Visitors_Nov2019 2020-01-10 to 2020-01-15
我的方法如下所示,但從哪里開始就卡住了。 我首先嘗試拆分第一列的值,但它不起作用。
df_seg = pd.concat([df_seg[['columnB', 'columnC']], df_seg['columnA'].str.split(', ', expand=True)], axis=1)
任何人都可以幫忙嗎?
使用DataFrame.explode
能夠創建一個DataFrame
兩個列表內容的DataFrame.join
並將其與DataFrame.join
new_df = df.explode('columnA').reset_index(drop=True)
new_df = (pd.DataFrame(new_df['columnA'].tolist(),
columns = ['columnA','cola','colb','colc'])
.join(new_df[['columnB','columnC']]))
print(new_df)
columnA cola colb colc \
0 Beauty & Wellness/Beauty Mavens 21 17 22
1 Beauty & Wellness/Frequently Visits Salons 22 21 25
2 Banking & Finance/Avid Investors 585 455 700
3 Beauty & Wellness/Beauty Mavens 414 339 467
columnB columnC
0 GA_All_B2B_Visitors_Jan20 2020-01-10 to 2020-01-15
1 GA_All_B2B_Visitors_Jan20 2020-01-10 to 2020-01-15
2 GA_Oven_Page_Visitors_Nov2019 2020-01-10 to 2020-01-15
3 GA_Oven_Page_Visitors_Nov2019 2020-01-10 to 2020-01-15
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.