PYTHON 中的字符串函數(shù)及示例_第1頁(yè)
PYTHON 中的字符串函數(shù)及示例_第2頁(yè)
PYTHON 中的字符串函數(shù)及示例_第3頁(yè)
PYTHON 中的字符串函數(shù)及示例_第4頁(yè)
PYTHON 中的字符串函數(shù)及示例_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

常用字符串函數(shù)列表下表顯示了許多常見(jiàn)的字符串函數(shù)及其說(shuō)明及其在MSExcel中的等效函數(shù)。我們?cè)诠ぷ鲌?chǎng)所都使用MSExcel,并且熟悉MSExcel中使用的功能。MSEXCEL和Python中字符串函數(shù)的比較可以幫助你快速學(xué)習(xí)函數(shù)并在面試前做好準(zhǔn)備。功能描述MSExcel函數(shù)字符串[:N]從字符串開(kāi)頭提取N個(gè)字符。左邊()mystring[-N:]從字符串末尾提取N個(gè)字符正確的()字符串[X:Y]從字符串中間提取字符,從X位置開(kāi)始,以Y結(jié)束中()str.split(sep='')分割字符串-str.replace(舊子字符串,新子字符串)用不同的子字符串替換部分文本代替()str.lower()將字符轉(zhuǎn)換為小寫(xiě)降低()str.upper()將字符轉(zhuǎn)換為大寫(xiě)上部()str.contains('模式',case=False)檢查模式是否匹配(Pandas函數(shù))SQLLIKE運(yùn)算符str.extract(正則表達(dá)式)返回匹配的值(Pandas函數(shù))-str.count('sub_string')計(jì)算字符串中模式的出現(xiàn)次數(shù)-字符串查找()返回子字符串或模式的位置尋找()str.isalnum()檢查字符串是否僅由字母數(shù)字字符組成-str.islower()檢查字符是否全部小寫(xiě)-str.isupper()檢查字符是否全部大寫(xiě)-str.isnumeric()檢查字符串是否僅由數(shù)字字符組成-str.isspace()檢查字符串是否僅由空格字符組成-僅有的()計(jì)算字符串長(zhǎng)度僅有的()貓()連接字符串(Pandas函數(shù))連接()分隔符.join(str)連接字符串連接()左、右和中功能如果您是MSExcel中級(jí)用戶,您一定使用過(guò)LEFT、RIGHT和MID函數(shù)。這些函數(shù)用于從字符串中提取N個(gè)字符或字母。1.從字符串開(kāi)頭提取前兩個(gè)字符mystring="Heybuddy,wassup?"mystring[:2]Out[1]:'He'string[start:stop:step]

表示項(xiàng)目從0(默認(rèn))開(kāi)始到(stop-1),步長(zhǎng)為1(默認(rèn))。mystring[:2]

相當(dāng)于

mystring[0:2]mystring[:2]

告訴Python從字符串對(duì)象中提取前2個(gè)字符mystring。索引從零開(kāi)始,因此它包括第一個(gè)、第二個(gè)元素,但不包括第三個(gè)元素。2.查找字符串的最后兩個(gè)字符mystring[-2:]上面的命令返回p?。-2開(kāi)始從倒數(shù)第二個(gè)位置到字符串最大長(zhǎng)度的范圍。3.從字符串中間查找字符mystring[1:3]Out[1]:'ey'mystring[1:3]返回第二個(gè)和第三個(gè)字符。1指第二個(gè)字符,因?yàn)樗饕龔?開(kāi)始。4.如何反轉(zhuǎn)字符串?mystring[::-1]Out[1]:'?pussaw,yddubyeH'-1告訴Python從末尾開(kāi)始,并從右到左加1。5.如何從PandasDataFrame中的字符串變量中提取字符?讓我們創(chuàng)建一個(gè)假數(shù)據(jù)框來(lái)進(jìn)行說(shuō)明。在下面的代碼中,我們創(chuàng)建一個(gè)名為的數(shù)據(jù)框df,僅包含1個(gè)名為var1importpandasaspddf=pd.DataFrame({"var1":["A_2","B_1","C_2","A_2"]})var10A_21B_12C_23A_2為了處理PythonPandasDataframe中的文本數(shù)據(jù),我們可以使用str屬性。它可用于切片字符值。df['var1'].str[0]在本例中,我們從變量中獲取第一個(gè)字符var1。請(qǐng)參閱下面所示的輸出。Output0A1B2C3A從字符串中提取單詞假設(shè)您需要從字符串中取出單詞而不是字符。通常我們將一個(gè)空格作為分隔符來(lái)從字符串中查找單詞。1.查找字符串的第一個(gè)單詞mystring.split()[0]Out[1]:'Hey'怎么運(yùn)行的?split()函數(shù)使用空格作為默認(rèn)分隔符來(lái)中斷字符串mystring.split()回報(bào)

['Hey','buddy,','wassup?']0返回第一個(gè)項(xiàng)目或單詞

Hey2.逗號(hào)作為單詞的分隔符mystring.split(',')[0]Out[1]:'Heybuddy'3.如何提取最后一個(gè)單詞mystring.split()[-1]Out[1]:'wassup?'4.如何提取DataFrame中的單詞讓我們構(gòu)建一個(gè)由客戶姓名組成的虛擬數(shù)據(jù)框并將其稱為變量custnamemydf=pd.DataFrame({"custname":["Priya_Sehgal","David_Stevart","Kasia_Woja","Sandy_Dave"]})custname0Priya_Sehgal1David_Stevart2Kasia_Woja3Sandy_Dave#FirstWordmydf['fname']=mydf['custname'].str.split('_').str[0]#LastWordmydf['lname']=mydf['custname'].str.split('_').str[1]詳細(xì)說(shuō)明Outputcustnamefnamelname0Priya_SehgalPriyaSehgal1David_StevartDavidStevart2Kasia_WojaKasiaWoja3Sandy_DaveSandyDavestr.split()類似于split().

它用于激活Python中pandas數(shù)據(jù)框的分割功能。在上面的代碼中,我們創(chuàng)建了兩個(gè)新列,名為fname并lname存儲(chǔ)名字和姓氏。PandasDataFrame中的SQLLIKE運(yùn)算符在SQL中,LIKE語(yǔ)句用于查找字符串是否匹配或包含模式。我們可以在python中使用str.contains()function來(lái)實(shí)現(xiàn)類似的功能。df2=pd.DataFrame({"var1":["AA_2","B_1","C_2","a_2"],“var2”:[“X_2”,“Y_1”,“Z_2”,“X2”]})var1var20AA_2X_21B_1Y_12C_2Z_23a_2X2如何在變量var1中查找包含A或B的行?df2['var1'].str.contains('A|B')str.contains(pattern)用于匹配PandasDataframe中的模式。Output0True1True2False3False由于函數(shù)區(qū)分大小寫(xiě),因此上述命令對(duì)第四行返回FALSE。為了忽略大小寫(xiě),我們可以使用case=False參數(shù)。請(qǐng)參閱下面的工作示例。df2['var1'].str.contains('A|B',case=False)如何過(guò)濾包含特定模式的行?在下面的程序中,我們要求Python根據(jù)條件對(duì)數(shù)據(jù)進(jìn)行子集化-包含字符值A(chǔ)或B。它相當(dāng)于SQL中的WHERE關(guān)鍵字。df2[df2['var1'].str.contains('A|B',case=False)]Outputvar1var20AA_2X_21B_1Y_13a_2X2假設(shè)您只需要那些字母后跟“_”的值df2[df2['var1'].str.contains('^[AZ]_',case=False)]^是正則表達(dá)式的標(biāo)記,表示以特定項(xiàng)目開(kāi)始。var1var21B_1Y_12C_2Z_23a_2X2查找特定字符或關(guān)鍵字的位置str.find(pattern)用于查找子字符串的位置。在本例中,子字符串是“_”。df2['var1'].str.find('_')02112131替換子串str.replace(old_text,new_text,case=False)用于用一些新值或模式替換特定字符或模式。在下面的代碼中,我們將變量var1中的_替換為--。df2['var1'].str.replace('_','--',case=False)Output0AA--21B--12C--23A--2我們還可以像下面的程序一樣復(fù)雜的模式。+表示某項(xiàng)出現(xiàn)一次或多次。在這種情況下,字母表出現(xiàn)1次或多次。df2['var1'].str.replace('[AZ]+_','X',case=False)0X21X12X23X2查找字符串的長(zhǎng)度len(string)用于計(jì)算字符串的長(zhǎng)度。在pandas數(shù)據(jù)框中,您可以申請(qǐng)str.len()相同的。df2['var1'].str.len()Output04132333要查找特定字符的出現(xiàn)次數(shù)(例如,每行中出現(xiàn)“A”的次數(shù)),您可以使用str.count(pattern)function.df2['var1'].str.count('A')轉(zhuǎn)換為小寫(xiě)和大寫(xiě)#Converttolowercasemydf['custname'].str.lower()#Converttouppercasemydf['custname'].str.upper()刪除前導(dǎo)和尾隨空格1、str.strip()刪除前導(dǎo)和尾隨空格。2、str.lstrip()刪除前導(dǎo)空格(在開(kāi)頭)。3、str.rstrip()刪除尾隨空格(在末尾)。df1=pd.DataFrame({'y1':['jack','jill','jesse','frank']})df1['both']=df1['y1'].str.strip()df1['left']=df1['y1'].str.lstrip()df1['right']=df1['y1'].str.rstrip()y1bothleftright0jackjackjackjack1jilljilljilljill2jessejessejessejesse3frankfrankfrankfrank將數(shù)字轉(zhuǎn)換為字符串通過(guò)使用str()函數(shù),您可以將數(shù)值轉(zhuǎn)換為字符串。myvariable=4mystr=str(myvariable)連接或連接字符串只需使用+,您就可以連接兩個(gè)字符串值。x="Deepanshu"y="Bhalla"x+yDeepanshuBhalla如果您想在兩個(gè)字符串之間添加空格,可以使用-

x+''+yreturnsDeepanshuBhalla

假設(shè)您有一個(gè)包含多個(gè)字符串值的列表,并且您想要將它們組合起來(lái)。您可以使用join()函數(shù)。string0=['Ram','Kumar','Singh']''.join(string0)Output'RamKumarSingh'假設(shè)您想要組合或連接pandas數(shù)據(jù)框的兩列。mydf['fullname']=mydf['fname']+''+mydf['lname']或者mydf['fullname']=mydf[['fname','lname']].apply(lambdax:''.join(x),axis=1)custnamefnamelnamefullname0Priya_SehgalPriyaSehgalPriyaSehgal1David_StevartDavidStevartDavidStevart2Kasia_WojaKasiaWojaKasiaWoja3Sandy_DaveSandyDaveSandyDavePandas中的SQLIN運(yùn)算符我們可以使用isin(list)函數(shù)在過(guò)濾或子集標(biāo)準(zhǔn)中包含多個(gè)值。mydata=pd.DataFrame({'product':['A','B','B','C','C','D','A']})mydata[mydata['product'].isin(['A','B'])]product0A1B2B6A如何在選擇多個(gè)值時(shí)應(yīng)用NO

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論