<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ù)清洗"殺手!

          共 3154字,需瀏覽 7分鐘

           ·

          2021-09-29 10:01

          ↑ 關(guān)注 + 星標(biāo) ,每天學(xué)Python新技能

          后臺回復(fù)【大禮包】送你Python自學(xué)大禮包

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

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

          這里為大家先構(gòu)造一個(gè)數(shù)據(jù)集,用于為大家演示這20個(gè)函數(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ù)

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

          2. contains函數(shù)

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

          3. startswith、endswith函數(shù)

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

          4. count函數(shù)

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

          5. get函數(shù)

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

          6. len函數(shù)

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

          7. upper、lower函數(shù)

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

          8. 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="*")
          效果圖:

          9.  repeat函數(shù)

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

          10.  slice_replace函數(shù)

          這個(gè)函數(shù)主要用于使用給定的字符串,替換指定的位置的字符
          df["電話號碼"].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á)式,抽取匹配的字符串(一定要加上括號)
          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)
          效果圖:


          萬水千山總是情,點(diǎn)個(gè) ?? 行不行



          推薦閱讀

          1. 新華社公布新增57個(gè)禁用詞,三思而后言。

          2. 盤點(diǎn)程序員寫過的驚天Bug:虧損30億、致6人死亡,甚至差點(diǎn)毀滅世界!

          3. 武大94年博士年薪201萬入職華為!學(xué)霸日程表曝光



          瀏覽 42
          點(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>
                  先锋影音AV资源网站 | 色777色 | 毛片公开视频 | 欧美在线不卡网 | 亚洲综合免费观看高清完整版在线 |