python处理文本数据
生活随笔
收集整理的這篇文章主要介紹了
python处理文本数据
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
處理文本數(shù)據(jù),主要是通過Seris的str訪問。遇到NaN時不做任何處理,保留結(jié)果為NaN,遇到數(shù)字全部處理為NaN。
str是Seris的方法,DataFrame不能直接使用,但是通過索引選擇DataFrame中的某一行或者某一列,結(jié)果為Seris,然后就可以使用了。
?
例如定義一個Seris和DataFrame如下
s = pd.Series([' ab',1,' bb ',np.nan,'bc ']) dic = {'one':[0,2,2,4],'two':[2,np.nan,4,6],'three':['a','b',np.nan,2]} df = pd.DataFrame(dic,index=['d','e','f','g'])將上述s全部變成大寫字母,將df的列名稱變成大寫。
s = s.str.upper() df.columns = df.columns.str.upper()?
以下都以Seris做示例,這些方法與python字符串的操作類似
print(s.str.lower()) #將s中的各字符串全部變?yōu)樾?/span> print(s.str.upper()) #將s中的各字符串全部變?yōu)榇髮?/span> print(s.str.capitalize()) #將s中的各字符串全部變?yōu)槭鬃帜复髮?/span> print(s.str.len()) #求s中各字符串的長度 print(s.str.count('b')) #求s中的各字符串元素包含幾個b print(s.str.startswith('a')) #判斷s中的字符串元素是否以a開始 print(s.str.endswith('a')) #判斷s中的字符串元素是否以a結(jié)束 print(s.str.strip()) #去掉s中字符串元素兩邊的空格 print(s.str.lstrip()) #去掉s中字符串元素左邊的空格 print(s.str.rstrip()) #去掉s中字符串元素右邊的空格 print(s.str.replace('原字符','替換字符',1)) #將原字符串替換為指定字符串,默認替換所有滿足條件的,n表示替換前n個滿足條件的?
split()和rsplit()
split()表示從左邊開始分割,rsplit()表示從右邊分割,分割后的結(jié)構(gòu)為一個列表
s = pd.Series(['a,b,c,d',np.nan,['a..c'],'1,2,3']) print(s.str.split(',')) #對Seris中的元素按照,分割,即對'a,b,c'、np.nan、['a..c']、'1,2,3'按照,分割 print(s.str.split(',').str[0]) #獲取每個元素分割后的第一個值,分割后的結(jié)果也為Seris,也需要通過str來獲取每個元素 print(s.str.split(',',expand=True,n=1)) #expand為True表示將原列按照分割符拆分為?列,n表示拆分次數(shù),默認不拆分,如果拆分默認拆分最多次 # 0 [a, b, c, d] # 1 NaN # 2 NaN # 3 [1, 2, 3] # dtype: object # 0 a # 1 NaN # 2 NaN # 3 1 # dtype: object # 0 1 # 0 a b,c,d # 1 NaN NaN # 2 NaN NaN # 3 1 2,3?
轉(zhuǎn)載于:https://www.cnblogs.com/Forever77/p/11266953.html
總結(jié)
以上是生活随笔為你收集整理的python处理文本数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无梦到徽州的上一句是什么
- 下一篇: Python:实现图片裁剪的两种方式——