Pandas的DataFrame有时需要处理一些字符串类型列,运用列内置方法很方便。
1、one hot 独热编码,get_dummies
series=data['列名'].str.get_dummies(sep=',')
实现DataFrame中列有多值,且想把这列one hot下。
2、切分字符串,split()
(1)把DataFrame列中字符串以’,’分隔开,每个元素分开后存入一个列表里
series=data['列名'].(',')
(2)参数expand,这个参数取True时,会把切割出来的内容当做一列,产生多列。
series=data['列名'].(',',expand=True)
(3)只要第一列
series=data['列名'].(',',expand=True)[0]
3、替换,replace()
series=data['列名'].(',','-')
用‘-’代替‘,’
4、是否包含表达式,contains()
series=data['列名'].('we')
返回的是布尔值。
5、查找所有符合正则表达式的字符findall()
series=data['列名'].("[a-z]")
以数组的形式返回。
6、计算字符串的长度,len()
series=data['列名'].()
7、去除前后的空白字符,strip()
series=data['列名'].()
- rstrip() 去除后面的空白字符
- lstrip() 去除前面的空白字符
8、isalnum()是否全部是数字和字母组成
- isalpha() 是否全部是字母
- isdigit() 是否全部都是数字
- isspace() 是否空格
- islower() 是否全部小写
- isupper() 是否全部大写
- istitle() 是否只有首字母为大写,其他字母为小写