<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個(gè)Pandas函數(shù),堪稱數(shù)據(jù)清洗殺手!

          共 3522字,需瀏覽 8分鐘

           ·

          2021-09-27 08:48


          導(dǎo)讀:今天準(zhǔn)備介紹一篇超級(jí)肝貨!


          Pandas 是基于NumPy 的一種工具,該工具是為解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。它提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法。

          本文介紹的這20個(gè)(被分成了15組)函數(shù),絕對(duì)是數(shù)據(jù)處理殺手,用了你會(huì)愛(ài)不釋手。

          作者:黃偉呢
          來(lái)源:數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)之美(ID:huang_superme)


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

          這里為大家先構(gòu)造一個(gè)數(shù)據(jù)集,用于為大家演示這20個(gè)函數(shù)。

          • 注:本數(shù)據(jù)集中的姓名、身份證號(hào)碼、電話號(hào)碼等信息均為虛構(gòu)。

          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'],
               '家庭住址':['湖北廣水','河南信陽(yáng)','廣西桂林','湖北孝感','廣東廣州'],
               '電話號(hào)碼':['13434813546','19748672895','16728613064','14561586431','19384683910'],
               '收入':['1.1萬(wàn)','8.5千','0.9萬(wàn)','6.5千','2.0萬(wàn)']}
          df = pd.DataFrame(df)
          df

          效果圖:



          01 cat函數(shù)

          這個(gè)函數(shù)主要用于字符串的拼接;

          df["姓名"].str.cat(df["家庭住址"],sep='-'*3)

          效果圖:



          02 contains函數(shù)


          這個(gè)函數(shù)主要用于判斷某個(gè)字符串是否包含給定字符;

          df["家庭住址"].str.contains("廣")

          效果圖:



          03 startswith、endswith函數(shù)


          這個(gè)函數(shù)主要用于判斷某個(gè)字符串是否以...開(kāi)頭/結(jié)尾

          # 第一個(gè)行的“ 黃偉”是以空格開(kāi)頭的
          df["姓名"].str.startswith("黃"
          df["英文名"].str.endswith("e")

          效果圖:



          04 count函數(shù)


          這個(gè)函數(shù)主要用于計(jì)算給定字符在字符串中出現(xiàn)的次數(shù);

          df["電話號(hào)碼"].str.count("3")

          效果圖:



          05 get函數(shù)


          這個(gè)函數(shù)主要用于獲取指定位置的字符串

          df["姓名"].str.get(-1)
          df["身高"].str.split(":")
          df["身高"].str.split(":").str.get(0)

          效果圖:



          06 len函數(shù)


          這個(gè)函數(shù)主要用于計(jì)算字符串長(zhǎng)度;

          df["性別"].str.len()

          效果圖:



          07 upper、lower函數(shù)


          這個(gè)函數(shù)主要用于英文大小寫轉(zhuǎn)換;

          df["英文名"].str.upper()
          df["英文名"].str.lower()

          效果圖:



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


          這個(gè)函數(shù)主要用于在字符串的左邊、右邊或左右兩邊添加給定字符;

          df["家庭住址"].str.pad(10,fillchar="*")      # 相當(dāng)于ljust()
          df["家庭住址"].str.pad(10,side="right",fillchar="*")    # 相當(dāng)于rjust()
          df["家庭住址"].str.center(10,fillchar="*")

          效果圖:



          09 repeat函數(shù)


          這個(gè)函數(shù)主要用于重復(fù)字符串幾次

          df["性別"].str.repeat(3)

          效果圖:


          10 slice_replace函數(shù)


          這個(gè)函數(shù)主要用于使用給定的字符串,替換指定的位置的字符;

          df["電話號(hào)碼"].str.slice_replace(4,8,"*"*4)

          效果圖:



          11 replace函數(shù)


          這個(gè)函數(shù)主要用于將指定位置的字符,替換為給定的字符串

          df["身高"].str.replace(":","-")

          效果圖:


          這個(gè)函數(shù)還接受正則表達(dá)式,將指定位置的字符,替換為給定的字符串。

          df["收入"].str.replace("\d+\.\d+","正則")

          效果圖:



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


          這個(gè)函數(shù)主要用于將一列擴(kuò)展為好幾列;

          # 普通用法
          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ù)


          這個(gè)函數(shù)主要用于去除空白符、換行符;

          df["姓名"].str.len()
          df["姓名"] = df["姓名"].str.strip()
          df["姓名"].str.len()

          效果圖:



          14 findall函數(shù)


          這個(gè)函數(shù)主要用于利用正則表達(dá)式,去字符串中匹配,返回查找結(jié)果的列表;

          df["身高"]
          df["身高"].str.findall("[a-zA-Z]+")

          效果圖:



          15 extract、extractall函數(shù)


          這個(gè)函數(shù)主要用于接受正則表達(dá)式,抽取匹配的字符串(一定要加上括號(hào));

          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)

          效果圖:



          延伸閱讀??

          延伸閱讀《深入淺出Pandas

          干貨直達(dá)??


          更多精彩??

          在公眾號(hào)對(duì)話框輸入以下關(guān)鍵詞
          查看更多優(yōu)質(zhì)內(nèi)容!

          讀書 | 書單 | 干貨 | 講明白 | 神操作 | 手把手
          大數(shù)據(jù) | 云計(jì)算 | 數(shù)據(jù)庫(kù) | Python | 爬蟲(chóng) | 可視化
          AI | 人工智能 | 機(jī)器學(xué)習(xí) | 深度學(xué)習(xí) | NLP
          5G | 中臺(tái) | 用戶畫像 數(shù)學(xué) | 算法 數(shù)字孿生

          據(jù)統(tǒng)計(jì),99%的大咖都關(guān)注了這個(gè)公眾號(hào)
          ??
          瀏覽 22
          點(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>
                  国产精品盗摄!偷窥盗摄 | 国产女子乱伦AAA片 | 蜜桃91精品秘 入口17c | 日韩和亚洲的日本品牌区分米奇777788 | 亚洲黄色免费电影 |