1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        盤點6個Pandas中批量替換字符的方法

        共 1860字,需瀏覽 4分鐘

         ·

        2022-03-09 15:15

        點擊上方“Python爬蟲與數據挖掘”,進行關注

        回復“書籍”即可獲贈Python從入門到進階共10本電子書

        朱雀橋邊野草花,烏衣巷口夕陽斜。

        大家好,我是Python進階者。

        一、前言

        前幾天在Python最強王者群有個叫【dcpeng】的粉絲問了一個關于Pandas中的問題,這里拿出來給大家分享下,一起學習。

        想問一下我有一列編碼為1,2,3,4的數據,如何將1批量換為“開心”,2批量換為“悲傷”這種字符替換呢?

        二、解決過程

        思路挺簡單,限定Pandas處理,想到的方法有很多,這里拿出來給大家分享,希望對大家的學習有幫助。

        1aa5b0330286602c2599d1711636fc46.webp下面這個是生成源數據的代碼:

        df?=?pd.DataFrame({'col1':?[1,?2,?2,?3,?3,?3,?4,?4,?4,?4]})
        df
        方法一:【月神】解答

        代碼如下所示:

        df['col2']?=?df['col1'].map({1:"開心",?2:"悲傷",?3:"難過",?4:"淚目"})
        df

        運行結果如下圖所示:

        58f355172e7c3ffbd0ebd089f6cfe348.webp
        方法二:【dcpeng】解答

        這個方法是參考才哥的文章寫出來的,代碼如下所示:

        def?getValue(s):
        ????if?s==1:
        ????????return?'開心'
        ????elif?s==2:
        ????????return?'悲傷'
        ????elif?s==3:
        ????????return?'難過'
        ????elif?s==4:
        ????????return?'淚目'
        df['col3']?=?df['col1'].apply(getValue)
        df

        運行結果如下圖所示:

        293add21d4dc1f1fbdcdf51ed33b1bd3.webp
        方法三:【冫馬讠成】解答

        【冫馬讠成】大佬給了一個思路,使用replace實現(xiàn)。

        495b0b89c69cac0a3859c9f969cec56b.webp代碼如下所示:

        df['col4']?=?df['col1'].replace(1,?'開心').replace(2,?'悲傷').replace(3,?'難過').replace(4,?'淚目')
        df

        得到的結果如下所示:

        9d78c11f32aacb12ce21564d60727e21.webp
        方法四:【dcpeng】解答

        這個方法是基于apply()函數,代碼如下所示:

        def?get_value(s):
        ????dict?=?{1:"開心",?2:"悲傷",?3:"難過",?4:"淚目"}
        ????return?dict[s]
        df['col5']?=?df['col1'].apply(get_value)
        df

        運行結果如下圖所示:

        47df1e6dfa17e7ebf4260572928e50f0.webp
        方法五:【沈復】解答

        【沈復】大佬給了一個思路和代碼,如下圖所示:

        cf85e448bb31f2de72a52d9c6153da03.webp

        這個方法是基于map()函數,代碼如下所示:

        def?get_value(s):
        ????dict?=?{1:"開心",?2:"悲傷",?3:"難過",?4:"淚目"}
        ????return?dict[s]
        df['col5']?=?df['col1'].map(get_value)
        df

        運行結果如下圖所示:

        c2bd816c6cfc0cce70a65f32d38cc48e.webp
        方法六:【月神】解答

        這里【月神】仍然是使用replace方法進行實現(xiàn)的,但是代碼秀了很多。

        90f9b5728292c5413f34380069de4566.webp代碼如下所示:

        df['col7']?=?df['col1'].replace([1,?2,?3,?4],?['開心',?'悲傷',?'難過',?'淚目'])
        df

        【月神】提醒:這個是全匹配,不要加regex=True參數,不然你會后悔的!

        運行結果如下圖所示:

        8ec5af11523fd8da756133fe76157293.webp

        三、總結

        大家好,我是Python進階者。這篇文章基于粉絲提問,針對有一列編碼為1,2,3,4的數據,如何將1批量換為“開心”,2批量換為“悲傷”這種字符替換的問題,盤點了6個Pandas中批量替換字符的方法,給出了具體說明和演示,順利地幫助粉絲解決了問題!

        最后感謝粉絲【dcpeng】提問,感謝【??(這是月亮的背面)】和【dcpeng】、【才哥】、【沈復】、大佬給出的示例和代碼支持。感謝粉絲【冫馬讠成】、【老松鼠】等人參與學習交流。

        191429ddd5dbe634dede1c088cd9f73a.webp

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

        -------------------?End?-------------------

        往期精彩文章推薦:

        2ab9b3e6b9ca95088aff4a7e6f2b7c07.webp

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

        想加入Python學習群請在后臺回復【入群

        萬水千山總是情,點個【在看】行不行

        /今日留言主題/

        隨便說一兩句吧~

        瀏覽 100
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            色撸网 | 久久伊人蜜桃av一区二区 | 五月天激情av | 久久肏逼网 | 裸体迷惑台湾三级 | 日日澡韩国电影 | 女人脱了内裤让男生桶爽照片 | 免费看伦人伦A片 | 免费91麻豆精品国产自产在线观看 | 国产精品禁久久 |