Python 數(shù)據(jù)操作教程PYTHON 中的字符串函數(shù)及示例_第1頁
Python 數(shù)據(jù)操作教程PYTHON 中的字符串函數(shù)及示例_第2頁
Python 數(shù)據(jù)操作教程PYTHON 中的字符串函數(shù)及示例_第3頁
Python 數(shù)據(jù)操作教程PYTHON 中的字符串函數(shù)及示例_第4頁
Python 數(shù)據(jù)操作教程PYTHON 中的字符串函數(shù)及示例_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

本教程概述了Python中使用的各種字符串(字符)函數(shù)。為了操作字符串和字符值,Python有幾個內(nèi)置函數(shù)。這意味著您不需要導入或依賴任何外部包來處理Python中的字符串數(shù)據(jù)類型。這是使用Python相對于其他數(shù)據(jù)科學工具的優(yōu)勢之一。處理字符串值在現(xiàn)實世界中非常常見。假設您有客戶的全名,并且您的經(jīng)理要求您提取客戶的名字和姓氏?;蛘吣胍@取代碼以“QT”開頭的所有產(chǎn)品的信息。目錄常用字符串函數(shù)列表左、右和中功能從字符串中提取單詞PandasDataFrame中的SQLLIKE運算符查找特定字符或關鍵字的位置替換子串查找字符串的長度轉(zhuǎn)換為小寫和大寫刪除前導和尾隨空格將數(shù)字轉(zhuǎn)換為字符串連接或連接字符串Pandas中的SQLIN運算符從字符串中提取特定模式常用字符串函數(shù)列表下表顯示了許多常見的字符串函數(shù)及其說明及其在MSExcel中的等效函數(shù)。我們在工作場所都使用MSExcel,并且熟悉MSExcel中使用的功能。MSEXCEL和Python中字符串函數(shù)的比較可以幫助你快速學習函數(shù)并在面試前做好準備。功能描述MSExcel函數(shù)字符串[:N]從字符串開頭提取N個字符。左邊()mystring[-N:]從字符串末尾提取N個字符正確的()字符串[X:Y]從字符串中間提取字符,從X位置開始,以Y結(jié)束中()str.split(sep='')分割字符串-str.replace(舊子字符串,新子字符串)用不同的子字符串替換部分文本代替()str.lower()將字符轉(zhuǎn)換為小寫降低()str.upper()將字符轉(zhuǎn)換為大寫上部()str.contains('模式',case=False)檢查模式是否匹配(Pandas函數(shù))SQLLIKE運算符str.extract(正則表達式)返回匹配的值(Pandas函數(shù))-str.count('sub_string')計算字符串中模式的出現(xiàn)次數(shù)-字符串查找()返回子字符串或模式的位置尋找()str.isalnum()檢查字符串是否僅由字母數(shù)字字符組成-str.islower()檢查字符是否全部小寫-str.isupper()檢查字符是否全部大寫-str.isnumeric()檢查字符串是否僅由數(shù)字字符組成-str.isspace()檢查字符串是否僅由空格字符組成-長度()計算字符串長度LEN()貓()連接字符串(Pandas函數(shù))連接()分隔符.join(str)連接字符串連接()左、右和中功能如果您是MSExcel中級用戶,您一定使用過LEFT、RIGHT和MID函數(shù)。這些函數(shù)用于從字符串中提取N個字符或字母。1.從字符串開頭提取前兩個字符mystring="Heybuddy,wassup?"mystring[:2]Out[1]:'He'string[start:stop:step]

表示項目從0(默認)開始到(stop-1),步長為1(默認)。mystring[:2]

相當于

mystring[0:2]mystring[:2]

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

['Hey','buddy,','wassup?']0返回第一個項目或單詞

Hey2.逗號作為單詞的分隔符mystring.split(',')[0]Out[1]:'Heybuddy'3.如何提取最后一個單詞mystring.split()[-1]Out[1]:'wassup?'4.如何提取DataFrame中的單詞讓我們構(gòu)建一個由客戶姓名組成的虛擬數(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]詳細說明str.split()類似于split().

它用于激活Python中pandas數(shù)據(jù)框的分割功能。在上面的代碼中,我們創(chuàng)建了兩個新列,名為fname并lname存儲名字和姓氏。PandasDataFrame中的SQLLIKE運算符在SQL中,LIKE語句用于查找字符串是否匹配或包含模式。我們可以在python中使用str.contains()function來實現(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中的模式。輸出0正確1真實2錯誤3錯誤Output0True1True2False3False由于函數(shù)區(qū)分大小寫,因此上述命令對第四行返回FALSE。為了忽略大小寫,我們可以使用case=False參數(shù)。請參閱下面的工作示例。df2['var1'].str.contains('A|B',case=False)如何過濾包含特定模式的行?在下面的程序中,我們要求Python根據(jù)條件對數(shù)據(jù)進行子集化-包含字符值A或B。它相當于SQL中的WHERE關鍵字。df2[df2['var1'].str.contains('A|B',case=False)]輸出變量1變量20AA_2X_21B_1Y_13a_2X2var1var20AA_2X_21B_1Y_13a_2X2假設您只需要那些字母后跟“_”的值df2[df2['var1'].str.contains('^[AZ]_',case=False)]^是正則表達式的標記,表示以特定項目開始。變量1變量21B_1Y_12C_2Z_23a_2X2var1var21B_1Y_12C_2Z_23a_2X2查找特定字符或關鍵字的位置str.find(pattern)用于查找子字符串的位置。在本例中,子字符串是“_”。df2['var1'].str.find('_')02112131替換子串str.replace(old_text,new_text,case=False)用于用一些新值或模式替換特定字符或模式。在下面的代碼中,我們將變量var1中的_替換為--。df2['var1'].str.replace('_','--',case=False)輸出0AA--21B--12C--23A--2我們還可以像下面的程序一樣復雜的模式。+表示某項出現(xiàn)一次或多次。在這種情況下,字母表出現(xiàn)1次或多次。df2['var1'].str.replace('[AZ]+_','X',case=False)0X21X12X23X2查找字符串的長度len(string)用于計算字符串的長度。在pandas數(shù)據(jù)框中,您可以申請str.len()相同的。df2['var1'].str.len()Output0AA--21B--12C--23A--2要查找特定字符的出現(xiàn)次數(shù)(例如,每行中出現(xiàn)“A”的次數(shù)),您可以使用str.count(pattern)function.df2['var1'].str.count('A')轉(zhuǎn)換為小寫和大寫str.lower()和str.upper()函數(shù)用于將字符串轉(zhuǎn)換為小寫和大寫值。#轉(zhuǎn)換為小寫mydf['custname'].str.lower()#轉(zhuǎn)換為大寫mydf['custname'].str.upper()#Converttolowercasemydf['custname'].str.lower()#Converttouppercasemydf['custname'].str.upper()刪除前導和尾隨空格str.strip()刪除前導和尾隨空格。str.lstrip()刪除前導空格(在開頭)。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)換為字符串通過使用str()函數(shù),您可以將數(shù)值轉(zhuǎn)換為字符串。myvariable=4mystr=str(myvariable)連接或連接字符串只需使用+,您就可以連接兩個字符串值。DeepanshuBhalla如果您想在兩個字符串之間添加空格,可以使用-

x+''+yreturnsDeepanshuBhalla

假設您有一個包含多個字符串值的列表,并且您想要將它們組合起來。您可以使用join()函數(shù)。string0=['Ram','Kumar','Singh']''.join(string0)Output'RamKumarSingh'假設您想要組合或連接pandas數(shù)據(jù)框的兩列。mydf['全名']=mydf['fname']+''+mydf['lname']或者mydf['fullname']=mydf[['fname','lname']].apply(lambdax:''.join(x),axis=1)custnamefnamelnamefullname0Priya_SehgalPriyaSehgalPriyaSehgal1David_StevartDavidStevartDavidStevart2Kasia_WojaKasiaWojaKasiaW

溫馨提示

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

評論

0/150

提交評論