熱線電話:13121318867

登錄
首頁精彩閱讀盤點一個Pandas中explode()爆炸函數應用實際案例
盤點一個Pandas中explode()爆炸函數應用實際案例
2022-03-18
收藏
盤點一個Pandas中explode()爆炸函數應用實際案例

作者:Python進階者

來源:Python爬蟲與數據挖掘

前言

偶然想對數據分列多一些操作,但是遇到了問題,如下圖所示。

盤點一個Pandas中explode()爆炸函數應用實際案例

上圖這個是原始數據,但是現在想要下圖這樣的效果,怎么破呢?

盤點一個Pandas中explode()爆炸函數應用實際案例

這個問題竟然在網上找了很久,沒有找到合適的,也許是我問問題的沒有問到點子上,不過還好比較幸運,在才哥群里有【1px】、【貓藥師Kelly】大佬給出了思路和答案。

一、思路

一開始想到的是使用Excel進行分列,這個操作我自然熟悉了,只不過列是分割了,但是其他的行數據沒有一起跟過來,如果你說大不了復制粘貼唄,也花不了幾秒鐘,我覺得也是沒毛病的,這也確實是一直思路,不死磕也行。

盤點一個Pandas中explode()爆炸函數應用實際案例

不過不要慌,問題不大,這里給出【1px】大佬給出的解決方法,拍案驚奇!

盤點一個Pandas中explode()爆炸函數應用實際案例

二、解決方案

針對該問題,其實有兩個方法,第一個是【麥叔】書中給出的openpyxl庫進行拆解,如下圖所示:

盤點一個Pandas中explode()爆炸函數應用實際案例

第二個是使用pandas中的explode()函數,這里直接給出【1px】大佬答案,如下圖所示:

盤點一個Pandas中explode()爆炸函數應用實際案例

其實關鍵點就是pandas中的爆炸函數explode(),早在之前我看到過有人用這個,只是一直不知道怎么用,今天在這里算是漲知識了。

import pandas as pd
df = pd.read_excel(
'keywords.xlsx')
# ['序號', '年份', '來源出版物名稱', '索引關鍵字'
df.columns
df.loc[:, ['索引關鍵字']] = df['索引關鍵字'].str.split(";"# expand=True 可以把用分割的內容直接分列
df.head()
df.explode(column='索引關鍵字')

最后得到預取的效果如下圖所示:

盤點一個Pandas中explode()爆炸函數應用實際案例

上面我只是拿一行數據進行測試,接下來使用多行進行測試看看:

盤點一個Pandas中explode()爆炸函數應用實際案例

代碼運行之后,發現都可以滿足要求:

盤點一個Pandas中explode()爆炸函數應用實際案例

三、總結

我是Python進階者。本文基于實際過程中遇到的Excel數據拓展分列的問題,使用pandas中的explode()函數順利完成解答,一個小題目,幫助自己和大家加深對該函數的認識。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢