Pandas的DataFrame有時需要處理一些字符串類型列,運用Series.str列內置方法很方便。
1、one hot 獨熱編碼,get_dummies
series=data['列名'].str.get_dummies(sep=',')
實現DataFrame中列有多值,且想把這列one hot下。
2、切分字符串,split()
(1)把DataFrame列中字符串以’,’分隔開,每個元素分開後存入一個列表裏
series=data['列名'].str.split(',')
(2)參數expand,這個參數取True時,會把切割出來的內容當做一列,產生多列。
series=data['列名'].str.split(',',expand=True)
(3)只要第一列
series=data['列名'].str.split(',',expand=True)[0]
3、替換,replace()
series=data['列名'].str.replace(',','-')
用‘-’代替‘,’
4、是否包含表達式,contains()
series=data['列名'].str.contains('we')
返回的是布爾值。
5、查找所有符合正則表達式的字符findall()
series=data['列名'].str.findall("[a-z]")
以數組的形式返回。
6、計算字符串的長度,len()
series=data['列名'].str.len()
7、去除前後的空白字符,strip()
series=data['列名'].str.strip()
- rstrip() 去除後面的空白字符
- lstrip() 去除前面的空白字符
8、isalnum()是否全部是數字和字母組成
- isalpha() 是否全部是字母
- isdigit() 是否全部都是數字
- isspace() 是否空格
- islower() 是否全部小寫
- isupper() 是否全部大寫
- istitle() 是否只有首字母爲大寫,其他字母爲小寫