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

          這20個Pandas函數(shù),堪稱"數(shù)據(jù)清洗"殺手!

          共 3274字,需瀏覽 7分鐘

           ·

          2021-09-20 07:57


          今天準(zhǔn)備介紹一篇超級肝貨
          Pandas 是基于NumPy 的一種工具,該工具是為解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。它提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法。
          本文介紹的這20個【被分成了15組】函數(shù),絕對是數(shù)據(jù)處理殺手,用了你會愛不釋手。

          構(gòu)造數(shù)據(jù)集

          這里為大家先構(gòu)造一個數(shù)據(jù)集,用于為大家演示這20個函數(shù)。
          import pandas as pd
          df ={'姓名':[' 黃同學(xué)','黃至尊','黃老邪 ','陳大美','孫尚香'],
               '英文名':['Huang tong_xue','huang zhi_zun','Huang Lao_xie','Chen Da_mei','sun shang_xiang'],
               '性別':['男','women','men','女','男'],
               '身份證':['463895200003128433','429475199912122345','420934199110102311','431085200005230122','420953199509082345'],
               '身高':['mid:175_good','low:165_bad','low:159_bad','high:180_verygood','low:172_bad'],
               '家庭住址':['湖北廣水','河南信陽','廣西桂林','湖北孝感','廣東廣州'],
               '電話號碼':['13434813546','19748672895','16728613064','14561586431','19384683910'],
               '收入':['1.1萬','8.5千','0.9萬','6.5千','2.0萬']}
          df = pd.DataFrame(df)
          df
          效果圖:

          1. cat函數(shù)

          這個函數(shù)主要用于字符串的拼接
          df["姓名"].str.cat(df["家庭住址"],sep='-'*3)
          效果圖:

          2. contains函數(shù)

          這個函數(shù)主要用于判斷某個字符串是否包含給定字符;
          df["家庭住址"].str.contains("廣")
          效果圖:

          3. startswith、endswith函數(shù)

          這個函數(shù)主要用于判斷某個字符串是否以...開頭/結(jié)尾;
          # 第一個行的“ 黃偉”是以空格開頭的
          df["姓名"].str.startswith("黃"
          df["英文名"].str.endswith("e")
          效果圖:

          4. count函數(shù)

          這個函數(shù)主要用于計算給定字符在字符串中出現(xiàn)的次數(shù);
          df["電話號碼"].str.count("3")
          效果圖:

          5. get函數(shù)

          這個函數(shù)主要用于獲取指定位置的字符串;
          df["姓名"].str.get(-1)
          df["身高"].str.split(":")
          df["身高"].str.split(":").str.get(0)
          效果圖:

          6. len函數(shù)

          這個函數(shù)主要用于計算字符串長度;
          df["性別"].str.len()
          效果圖:

          7. upper、lower函數(shù)

          這個函數(shù)主要用于英文大小寫轉(zhuǎn)換;
          df["英文名"].str.upper()
          df["英文名"].str.lower()
          效果圖:

          8. pad+side參數(shù)/center函數(shù)

          這個函數(shù)主要用于在字符串的左邊、右邊或左右兩邊添加給定字符;
          df["家庭住址"].str.pad(10,fillchar="*")      # 相當(dāng)于ljust()
          df["家庭住址"].str.pad(10,side="right",fillchar="*")    # 相當(dāng)于rjust()
          df["家庭住址"].str.center(10,fillchar="*")
          效果圖:

          9.  repeat函數(shù)

          這個函數(shù)主要用于重復(fù)字符串幾次;
          df["性別"].str.repeat(3)
          效果圖:

          10.  slice_replace函數(shù)

          這個函數(shù)主要用于使用給定的字符串,替換指定的位置的字符;
          df["電話號碼"].str.slice_replace(4,8,"*"*4)
          效果圖:

          11. replace函數(shù)

          這個函數(shù)主要用于將指定位置的字符,替換為給定的字符串;
          df["身高"].str.replace(":","-")
          效果圖:

          這個函數(shù)還接受正則表達式,將指定位置的字符,替換為給定的字符串。
          df["收入"].str.replace("\d+\.\d+","正則")
          效果圖:

          12.  split方法+expand參數(shù)

          這個函數(shù)主要用于將一列擴展為好幾列;
          # 普通用法
          df["身高"].str.split(":")
          # split方法,搭配expand參數(shù)
          df[["身高描述","final身高"]] = df["身高"].str.split(":",expand=True)
          df
          # split方法搭配join方法
          df["身高"].str.split(":").str.join("?"*5)
          效果圖:

          13. strip、rstrip、lstrip函數(shù)

          這個函數(shù)主要用于去除空白符、換行符;
          df["姓名"].str.len()
          df["姓名"] = df["姓名"].str.strip()
          df["姓名"].str.len()
          效果圖:

          14. findall函數(shù)

          這個函數(shù)主要用于利用正則表達式,去字符串中匹配,返回查找結(jié)果的列表;
          df["身高"]
          df["身高"].str.findall("[a-zA-Z]+")
          效果圖:

          15. extract、extractall函數(shù)

          這個函數(shù)主要用于接受正則表達式,抽取匹配的字符串(一定要加上括號);
          df["身高"].str.extract("([a-zA-Z]+)")
          # extractall提取得到復(fù)合索引
          df["身高"].str.extractall("([a-zA-Z]+)")
          # extract搭配expand參數(shù)
          df["身高"].str.extract("([a-zA-Z]+).*?([a-zA-Z]+)",expand=True)
          效果圖:

          重磅消息



          為感謝大家對我們的支持,除了本文中的送書活動外,我們創(chuàng)建了一個python客棧粉絲專屬的技術(shù)交流(福利)群,每周都有送紅包、送書活動。


          群中都是學(xué)習(xí)Python的同學(xué),有任何問題都可以發(fā)到群里和大家一起討論學(xué)習(xí)(本次送書活動群中同步進行)


          群聊截圖


          進群方法:


          在本公眾號內(nèi)回復(fù):群 即可獲取進群方


          往期推薦

          1、一條命令搭建私人網(wǎng)盤,太贊了

          2、Python 帶你高效創(chuàng)作短視頻

          3B 站 CEO 的身份證被上傳到 GitHub 了?

          4、利用Python去除圖片水印,太神奇了!

          5、40個Python可視化圖表案例(附代碼)

          今天因為您的點贊和在看,讓我元氣滿滿!

          瀏覽 68
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  成年男女啪啪网视频 | 无码在线专区 | 亚洲人成网77777色在线播放 | 超碰在线观看2407 | 18操逼毛片 |