<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Pandas 爆炸函數(shù)實(shí)例

          共 1161字,需瀏覽 3分鐘

           ·

          2021-06-25 22:10


          Pandas系列|一切從爆炸函數(shù)開始

          前段時(shí)間部門有位大數(shù)據(jù)開發(fā)的同事離職了,在他和其他開發(fā)的同事進(jìn)行工作項(xiàng)目交接的時(shí)候,我去旁聽了下,因?yàn)樯婕暗揭恍┕緲I(yè)務(wù)邏輯的問題。當(dāng)講到某個(gè)項(xiàng)目的時(shí)候,他談到:

          這個(gè)業(yè)務(wù)邏輯是…….,我用Hive中的爆炸函數(shù)實(shí)現(xiàn)了這個(gè)功能。

          當(dāng)時(shí)他舉了一個(gè)簡(jiǎn)單的例子來說明爆炸函數(shù)的功能,我當(dāng)場(chǎng)就記下了這個(gè)函數(shù)名稱:爆炸函數(shù)。Hive在我的工作中使用的并不多,于是我在想:Pandas能夠?qū)崿F(xiàn)這個(gè)功能嗎

          爆炸函數(shù)功能

          爆炸函數(shù)到底實(shí)現(xiàn)的是什么需求呢?我回憶一下當(dāng)時(shí)的例子:

          現(xiàn)在有一份數(shù)據(jù),包含訂單編號(hào)和訂單中商品價(jià)格(每個(gè)訂單3個(gè)商品),使用hive中的爆炸函數(shù)之后變成如下圖所示的樣子:相當(dāng)于是實(shí)現(xiàn)了列轉(zhuǎn)成行的功能。這樣后續(xù)就能進(jìn)行各種聚合操作。

          Hive中實(shí)現(xiàn)爆炸功能有兩個(gè)函數(shù),可自行搜索了解:

          • explode(col)
          • lateral view:側(cè)寫函數(shù)

          pandas實(shí)現(xiàn)

          具體需求

          碰巧最近有一個(gè)需求就用到爆炸函數(shù)的功能,不過是用pandas實(shí)現(xiàn)的。在下面表格的左邊部分是每個(gè)訂單的銷售記錄,包含銷售員、跟單員、結(jié)單員,他們?nèi)卟灰欢ㄊ峭粋€(gè)人

          現(xiàn)在需要統(tǒng)計(jì)每個(gè)員工的銷售業(yè)績(jī)。銷售業(yè)績(jī)也就是指員工參與了多少訂單。統(tǒng)計(jì)每個(gè)員工的銷售業(yè)績(jī):

          • 有作為銷售員、跟單員、結(jié)單員的任意一種,即可說明參與了該訂單的銷售;
          • 同一個(gè)訂單中,一個(gè)員工參與多次只記為一次

          爆炸函數(shù)到底實(shí)現(xiàn)的是什么功能呢?右邊就是我們想要的結(jié)果:

          • 張三:參加了訂單號(hào)1-銷售員,訂單號(hào)2-跟單員、結(jié)單員,數(shù)量2
          • 李四:參加了訂單號(hào)1-跟單員、結(jié)單員,訂單2-銷售員,訂單號(hào)3-跟單員,數(shù)量3
          • 王五:參加了訂單號(hào)3-銷售員、結(jié)單員,數(shù)量1

          解決過程

          1、在pandas模擬了一份數(shù)據(jù)如下:

          2、生成一個(gè)新字段:員工

          3、實(shí)施爆炸功能,使用的是pandas中的explode函數(shù),得到新數(shù)據(jù):可以看到每個(gè)訂單號(hào)會(huì)多次出現(xiàn)

          4、統(tǒng)計(jì)結(jié)果

          這樣根據(jù)不同的字段,比如員工、銷售員、跟單員等就能統(tǒng)計(jì)不同的業(yè)績(jī)

          什么是pandas

          pandas中文叫做熊貓,它是Python的核心數(shù)據(jù)處理和數(shù)據(jù)分析的第三方庫(kù),它擁有快速、靈活、明確的數(shù)據(jù)結(jié)構(gòu)。

          Pandas是一個(gè)強(qiáng)大的分析結(jié)構(gòu)化數(shù)據(jù)的工具集;它的使用基礎(chǔ)是Numpy(另一個(gè)Python庫(kù),提供高性能的矩陣運(yùn)算),能夠用于數(shù)據(jù)挖掘和數(shù)據(jù)分析,同時(shí)也提供數(shù)據(jù)清洗功能。

          Pandas有什么用

          pandas的具體使用以后會(huì)形成連載系列,敬請(qǐng)期待!

          本文結(jié)語(yǔ):擁抱pandas,告別Excel

          瀏覽 62
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  琪琪午夜成人久久电影网 | 成人AV麻豆 | 国产性爱69 | 韩国成人免费无码免费视频 | 丁香五月婷婷中文字幕 |