<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>

          盤點(diǎn)一個Pandas數(shù)據(jù)處理基礎(chǔ)題目(文末有學(xué)習(xí)彩蛋)

          共 1815字,需瀏覽 4分鐘

           ·

          2022-06-29 13:23

          點(diǎn)擊上方“Python共享之家”,進(jìn)行關(guān)注

          回復(fù)“資源”即可獲贈Python學(xué)習(xí)資料

          戍鼓斷人行,邊秋一雁聲。

          大家好,我是皮皮。

          一、前言

          前幾天在Python最強(qiáng)王者交流群【Chloe】問了一道Pandas處理的問題,如下圖所示。

          原始數(shù)據(jù)如下:

          df = pd.DataFrame( {'id' : ['A','A','A','A','A','A','B','B','B','B','B'], 
                              'type' : [1,1,1,1,2,2,1,1,1,2,2], 
                              'book' : ['Math','Math','English','Physics','Math','English','Physics','English','Physics','English','English']})

          res = df.groupby(['id','type']).book.apply(list).reset_index()

          res['book'] = res.apply(lambda x:(','.join([str(i) for i in x['book']])))
          res

          預(yù)期的結(jié)果如下圖所示:

          二、實(shí)現(xiàn)過程

          方法一

          這里【月神】給出一個可行的代碼,大家后面遇到了,可以對應(yīng)的修改下,事半功倍,代碼如下所示:

          df.groupby(['id','type']).book.unique().str.join(',').reset_index()

          運(yùn)行之后,結(jié)果就是想要的了。

          方法二

          后來【瑜亮老師】也給了一份代碼。

          代碼如下所示:

          res = df.groupby(['id''type']).book.apply(set).reset_index()
          res['book'] = res['book'].apply(lambda x: (','.join(x)))
          print(res)

          運(yùn)行之后,結(jié)果就是想要的了。

          完美地解決了粉絲的問題!

          最后再給大家分享一個知識點(diǎn),如下圖所示。

          后來【瑜亮老師】還補(bǔ)充了一個結(jié)論,這里和大家一起分享下。

          文章做了對比:
          普通apply處理需要18秒左右,
          使用Swift進(jìn)行加速提升到7秒左右,
          函數(shù)向量化,時(shí)間縮短至0.4秒,
          int64轉(zhuǎn)為int16,用時(shí)縮短至0.1秒
          盡可能轉(zhuǎn)換為.values,再操作,僅用時(shí)0.07秒!!!
          從18秒到0.07秒……

          三、總結(jié)

          大家好,我是皮皮。這篇文章主要盤點(diǎn)了一道使用Pandas處理數(shù)據(jù)的問題,文中針對該問題給出了具體的解析和代碼實(shí)現(xiàn),一共兩個方法,幫助粉絲順利解決了問題。

          最后感謝粉絲【Chloe】提問,感謝【月神】、【瑜亮老師】給出的思路和代碼解析,感謝【dcpeng】、【馮誠】、【冷喵】、【D I Y】等人參與學(xué)習(xí)交流。

          小伙伴們,快快用實(shí)踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何問題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。

          ------------------- End -------------------

          往期精彩文章推薦:

          歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          想加入Python學(xué)習(xí)群請?jiān)诤笈_回復(fù)【

          萬水千山總是情,點(diǎn)個【在看】行不行

          瀏覽 50
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(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>
                  亚洲黄色毛片 | 成人欧美精品 | 人人草青青草 | 日韩黄色电影视频 | 呦呦性爱合集 |