色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

分享pandas中超級好用的str矢量化字符串函數(shù)

數(shù)據(jù)分析與開發(fā) ? 來源:數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)之美 ? 作者:黃偉呢 ? 2021-04-13 10:37 ? 次閱讀

本文介紹

你有沒有這樣一種感覺,為什么到自己手上的數(shù)據(jù),總是亂七八糟? 作為一個數(shù)據(jù)分析師來說,數(shù)據(jù)清洗是必不可少的環(huán)節(jié)。有時候由于數(shù)據(jù)太亂,往往需要花費(fèi)我們很多時間去處理它。因此掌握更多的數(shù)據(jù)清洗方法,會讓你的能力調(diào)高100倍。 本文基于此,講述pandas中超級好用的str矢量化字符串函數(shù),學(xué)了之后,瞬間感覺自己的數(shù)據(jù)清洗能力提高了。

1個數(shù)據(jù)集,16個Pandas函數(shù)

數(shù)據(jù)集是黃同學(xué)精心為大家編造,只為了幫助大家學(xué)習(xí)到知識。數(shù)據(jù)集如下:

importpandasaspd df={'姓名':['黃同學(xué)','黃至尊','黃老邪','陳大美','孫尚香'], '英文名':['Huangtong_xue','huangzhi_zun','HuangLao_xie','ChenDa_mei','sunshang_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 結(jié)果如下:

bcebfca8-9be2-11eb-8b86-12bb97331649.png

觀察上述數(shù)據(jù),數(shù)據(jù)集是亂的。接下來,我們就用16個Pandas來對上述數(shù)據(jù),進(jìn)行數(shù)據(jù)清洗。

① cat函數(shù):用于字符串的拼接

df["姓名"].str.cat(df["家庭住址"],sep='-'*3) 結(jié)果如下:

bd027afa-9be2-11eb-8b86-12bb97331649.png

② contains:判斷某個字符串是否包含給定字符

df["家庭住址"].str.contains("廣") 結(jié)果如下:

bd0e3d40-9be2-11eb-8b86-12bb97331649.png

③ startswith/endswith:判斷某個字符串是否以…開頭/結(jié)尾

#第一個行的“黃偉”是以空格開頭的 df["姓名"].str.startswith("黃") df["英文名"].str.endswith("e") 結(jié)果如下:

bd1e5ba8-9be2-11eb-8b86-12bb97331649.png

④ count:計(jì)算給定字符在字符串中出現(xiàn)的次數(shù)

df["電話號碼"].str.count("3") 結(jié)果如下:

bd2bac22-9be2-11eb-8b86-12bb97331649.png

⑤ get:獲取指定位置的字符串

df["姓名"].str.get(-1) df["身高"].str.split(":") df["身高"].str.split(":").str.get(0) 結(jié)果如下:

bd3eebde-9be2-11eb-8b86-12bb97331649.png

⑥ len:計(jì)算字符串長度

df["性別"].str.len() 結(jié)果如下:

bd502714-9be2-11eb-8b86-12bb97331649.png

⑦ upper/lower:英文大小寫轉(zhuǎn)換

df["英文名"].str.upper() df["英文名"].str.lower() 結(jié)果如下:

bd5d8d82-9be2-11eb-8b86-12bb97331649.png

⑧ pad+side參數(shù)/center:在字符串的左邊、右邊或左右兩邊添加給定字符

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

bd691940-9be2-11eb-8b86-12bb97331649.png

⑨ repeat:重復(fù)字符串幾次

df["性別"].str.repeat(3) 結(jié)果如下:

bd73b710-9be2-11eb-8b86-12bb97331649.png

⑩ slice_replace:使用給定的字符串,替換指定的位置的字符

df["電話號碼"].str.slice_replace(4,8,"*"*4) 結(jié)果如下:

bd814ac4-9be2-11eb-8b86-12bb97331649.png

? replace:將指定位置的字符,替換為給定的字符串

df["身高"].str.replace(":","-") 結(jié)果如下:

? replace:將指定位置的字符,替換為給定的字符串(接受正則表達(dá)式)

replace中傳入正則表達(dá)式,才叫好用;

先不要管下面這個案例有沒有用,你只需要知道,使用正則做數(shù)據(jù)清洗多好用;

df["收入"].str.replace("d+.d+","正則") 結(jié)果如下:

bd9fe4de-9be2-11eb-8b86-12bb97331649.png

? split方法+expand參數(shù):搭配join方法功能很強(qiáng)大

#普通用法 df["身高"].str.split(":") #split方法,搭配expand參數(shù) df[["身高描述","final身高"]]=df["身高"].str.split(":",expand=True) df #split方法搭配join方法 df["身高"].str.split(":").str.join("?"*5) 結(jié)果如下:

bdacbbb4-9be2-11eb-8b86-12bb97331649.png

? strip/rstrip/lstrip:去除空白符、換行符

df["姓名"].str.len() df["姓名"]=df["姓名"].str.strip() df["姓名"].str.len() 結(jié)果如下:

bde4a2ea-9be2-11eb-8b86-12bb97331649.png

? findall:利用正則表達(dá)式,去字符串中匹配,返回查找結(jié)果的列表

findall使用正則表達(dá)式,做數(shù)據(jù)清洗,真的很香!

df["身高"] df["身高"].str.findall("[a-zA-Z]+") 結(jié)果如下:

bdf09636-9be2-11eb-8b86-12bb97331649.png

? extract/extractall:接受正則表達(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) 結(jié)果如下:

be02c400-9be2-11eb-8b86-12bb97331649.png

今天的文章,就講述到這里,希望能夠?qū)δ阌兴鶐椭?/p>

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7002

    瀏覽量

    88943
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4327

    瀏覽量

    62573
  • 矢量化
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    6202

原文標(biāo)題:詳解16個 pandas 函數(shù),讓你的 “數(shù)據(jù)清洗” 能力提高100倍!

文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    base64字符串轉(zhuǎn)換為二進(jìn)制文件

    Base64是一種編碼方法,用于將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為ASCII字符串。這種編碼通常用于在不支持二進(jìn)制數(shù)據(jù)的系統(tǒng)傳輸數(shù)據(jù),例如電子郵件或網(wǎng)頁。將Base64字符串轉(zhuǎn)換為二進(jìn)制文件的過程相對簡單,但需要
    的頭像 發(fā)表于 11-10 10:55 ?929次閱讀

    MATLAB(5)--字符串處理

    :兩個字符串里的每個字符依次按ASCII值大小逐個進(jìn)行比較,比較的結(jié)果是一個數(shù)值向量,向量的元素為1或者0。 字符串比較函數(shù)用于判斷
    發(fā)表于 09-06 10:22

    labview字符串數(shù)組轉(zhuǎn)化為數(shù)值數(shù)組

    在LabVIEW,將字符串數(shù)組轉(zhuǎn)換為數(shù)值數(shù)組是一項(xiàng)常見的任務(wù),尤其是在處理數(shù)據(jù)采集、信號處理或用戶輸入時。 1. 理解LabVIEW的數(shù)據(jù)類型 在開始之前,了解LabVIEW的數(shù)據(jù)類型是非
    的頭像 發(fā)表于 09-04 17:47 ?2260次閱讀

    labview字符串如何轉(zhuǎn)換為16進(jìn)制字符串

    在LabVIEW,將字符串轉(zhuǎn)換為16進(jìn)制字符串是一個常見的需求,尤其是在處理數(shù)據(jù)通信和硬件接口時。LabVIEW提供了多種方法來實(shí)現(xiàn)這一轉(zhuǎn)換,包括使用內(nèi)置函數(shù)、編寫VI(Virtua
    的頭像 發(fā)表于 09-04 15:54 ?2308次閱讀

    labview如何實(shí)現(xiàn)字符串換行

    1. 字符串換行的基本概念 在LabVIEW字符串換行通常指的是在字符串插入換行符,使得字符串
    的頭像 發(fā)表于 09-04 15:47 ?1621次閱讀

    labview中常用的字符串函數(shù)有哪些?

    在LabVIEW,常用的字符串函數(shù)廣泛覆蓋了對字符串的各種操作,包括但不限于格式化、搜索、替換、連接、計(jì)算長度等。以下是一些常用的字符串
    的頭像 發(fā)表于 09-04 15:43 ?670次閱讀

    labview字符串的四種表示各有什么特點(diǎn)

    。在LabVIEW字符串是一種基本的數(shù)據(jù)類型,用于表示文本信息。字符串在LabVIEW中有多種表示方式,每種方式都有其特定的應(yīng)用場景和特點(diǎn)。以下是對LabVIEW四種
    的頭像 發(fā)表于 09-04 15:40 ?540次閱讀

    如何提取串口接收字符串數(shù)組里的某個字符串

    條(有時候二十多條不定)響應(yīng)字符串指令,我是用一個字符串數(shù)組來接收這些返回來的指令的。我現(xiàn)在只需要讀取數(shù)組里的某一條指令,應(yīng)該怎么把它提取出來啊??有哪位前輩懂的,希望能提供點(diǎn)幫助。我找了好久找到一個函數(shù)
    發(fā)表于 04-22 06:05

    C語言字符串編譯函數(shù)介紹

    在C語言中,字符串實(shí)際上是使用null字符O'終止的一維字符數(shù)組。因此,一個以null結(jié)尾的字符串,包含了組成字符串
    的頭像 發(fā)表于 03-07 16:18 ?504次閱讀
    C語言<b class='flag-5'>字符串</b>編譯<b class='flag-5'>函數(shù)</b>介紹

    labview二進(jìn)制字符串轉(zhuǎn)數(shù)值

    字符串是一種常見的數(shù)據(jù)類型,它表示了以二進(jìn)制形式存儲的數(shù)據(jù)。當(dāng)我們需要將這些二進(jìn)制字符串轉(zhuǎn)換為數(shù)值時,LabVIEW提供了一些常用的函數(shù)和方法,可以幫助我們完成這個任務(wù)。 首先,我們需要明確二進(jìn)制
    的頭像 發(fā)表于 01-05 16:20 ?2650次閱讀

    labview掃描字符串怎么用

    LabVIEW 是一種流程化編程語言和開發(fā)環(huán)境,主要用于控制、測量和監(jiān)測系統(tǒng)。在 LabVIEW ,掃描字符串是一項(xiàng)常見的任務(wù),它允許用戶按照一定的模式從輸入字符串中提取所需的信息。下面我將詳細(xì)
    的頭像 發(fā)表于 12-29 10:12 ?1980次閱讀

    KUKA 機(jī)器人系統(tǒng)函數(shù)StrFind()-在字符串里查找

    搜索字符串變量 用功能 StrFind() 可以搜索字符串變量的字符串。 Result = StrFind( StartAt, StrVar[], StrFind[], CaseSens )
    的頭像 發(fā)表于 12-27 10:36 ?675次閱讀

    labview掃描字符串怎么用

    LabVIEW是一種圖形化編程語言,用于開發(fā)控制、測量和監(jiān)控系統(tǒng)。雖然它主要用于工程和科學(xué)領(lǐng)域,但也可以用于處理文本和字符串。 在LabVIEW,可以使用字符串處理函數(shù)來掃描
    的頭像 發(fā)表于 12-26 16:58 ?1977次閱讀

    labview怎么對字符串的進(jìn)行實(shí)時處理

    LabVIEW是一種用于開發(fā)控制、測試和測量系統(tǒng)的可視化編程環(huán)境,它提供了許多處理字符串的功能。在LabVIEW,可以使用不同的函數(shù)和工具來實(shí)時處理字符串。下面我將詳細(xì)介紹一些常見的
    的頭像 發(fā)表于 12-26 14:12 ?1857次閱讀

    split在python的用法

    split在python的用法 split()是Python中一個非常常用的字符串函數(shù),它能夠根據(jù)指定的分隔符將一個字符串分割成多個子字符串
    的頭像 發(fā)表于 12-25 15:12 ?2018次閱讀
    主站蜘蛛池模板: 免费撕开胸罩吮胸视频| 四虎影视库永久免费| 亚洲欧美日韩在线码不卡| 99亚洲精品| 久久青草在线视频精品| 吸奶舔下面| 第一次处破女高清电影| 木凡的天空在线收听| 亚洲色图在线播放| 国产精品成人观看视频免费| 欧美成人中文字幕在线视频 | 色悠久久久久综合欧美99| 最新快播网站| 久久99热这里只频精品6| 五月丁香婷姐色| 纯肉腐文高H总受男男| 女bbbbxxx孕妇| 中国字字幕在线播放2019| 很黄很色60分钟在线观看| 我要干av| 国产 亚洲 另类 欧美 在线| 欧美精品成人a多人在线观看| 在线少女漫画| 久久r视频| 亚洲日本国产综合高清| 国产人妻麻豆蜜桃色在线| 首页 国产 亚洲 中文字幕| 成电影人免费网站| 女教师公车痴汉在线播放| 13一18TV处流血TV| 久久亚洲国产精品亚洲| 野花日本高清在线观看免费吗| 中文字幕一区久久久久| 粉色视频午夜网站入口| 欧美一区二区影院| av天堂网2017avtt| 欧美派对xxxhdparty| 99热在线播放| 女人高潮久久久叫人喷水| 99精品国产电影| 暖暖 免费 高清 日本在线|