表内字符的处理
df1 = df[df['content'].str.len() > 15]
# 通过 str.len() 的形式
# 就能获取到这个 Series 中每一个字符串元素的长度,
也就是每一行 'content' 列字符串的长度,
返回的结果依然是一个 Series,
只不过这个新的 Series 中的值
是对应的原 'content' 列字符串的长度数值
表名.loc[(条件表达式),'列名']
~取相反、&:and
df=employees.loc[(employees['employee_id']%2==1)&(~employees['name'].str.startswith('M')),'bonus']=employees['salary']
# employees.loc[(条件表达式),'bonus'] 这种形式是 loc 索引器的典型用法,用于在满足前面条件表达式的行中,定位到bonus列
# 判断employee_id列的值是否为奇数&通过employees['name'].str 访问name列元素的字符串,startswith('M') 方法来判断每个员工名字是否以 'M' 开头
# 满足条件列的对应的salary列的值放到对应的bonus列里
# employees表 内容:
employee_id name salary
1 John 5000
2 Mary 6000
3 Peter 7000
4 Mike 8000
5 Lucy 9000
# 执行命令后 df表 中的内容:
employee_id name salary bonus
1 John 5000 5000
2 Mary 6000 NaN
3 Peter 7000 7000
4 Mike 8000 NaN
5 Lucy 9000 9000
df['name'].str.len() 长度
# 输出:
0 4
1 4
2 5
3 4
4 4
.str.lower() 转为小写
.str.upper() 转大写
.str.capitalize() 首字母大写,其他小写
.str.swapcase() 大写->小写 小写->大写
.str.strip() 去除两端空白
.str.lstrip() 去除左侧空白
.str.rstrip() 去除右侧空白
df['name'].str.contains('ar',case=False) name列中是否包含‘ar’,case=false是不区分大小写
.str.startswith('M') 是否以‘M’开头
.str.endswith('y') 是否以‘y’结尾
.str.isalnum() 是否只有字母数字
.str.isalpha() 是否只有字母
.str.isdigit() 是否只有数字
.str.join() 连接
df['name'].str.join('-')
# 输出:
0 J-o-h-n
1 M-a-r-y
2 P-e-t-e-r
3 M-i-k-e
4 L-u-c-y
Name: name, dtype: object
.str.split() 分隔
df['name']=['Jo:hn', 'Mar:y', 'Peter', 'Mike', 'Lucy']
df['name'].str.split(pat=':', n=-1, expand=False)
# 以‘:’为分隔标志 用‘,’分开
0 [Jo, hn]
1 [Mar, y]
2 [Peter]
3 [Mike]
4 [Lucy]
Name: name, dtype: object
df['name'].str.split(pat=':', n=-1, expand=True)
# 以‘:’为分隔标志 分成两列
0 1
0 Jo hn
1 Mar y
2 Peter None
3 Mike None
4 Lucy None
.str.get() 按索引值提取字符
df['name'].str.get(0)
# 返回值:
0 J
1 M
2 P
3 M
4 L
Name: name, dtype: object
.str.findall() 查找字符然后输出
df['name'].str.findall('e')
# 输出:
0 []
1 []
2 [e, e]
3 [e]
4 []
Name: name, dtype: object
df['name'].str.findall('\d')
# \d是查找数字的
.str.repeat() 字符多打印()变
df['name'].str.repeat(3)
# 输出:
0 JohnJohnJohn
1 MaryMaryMary
2 PeterPeterPeter
3 MikeMikeMike
4 LucyLucyLucy
Name: name, dtype: object
.str.pad() 用()补齐字符
df['name'].str.pad(6,side='left',fillchar='0')
side=
left:在左边补充
right:在右边补充
both:两边都补
# 输出:
0 00John
1 00Mary
2 0Peter
3 00Mike
4 00Lucy
Name: name, dtype: object
.str.cat() 某列以()分隔显示成一行
df['name'].str.cat(sep=',')
# 输出:
John,Mary,Peter,Mike,Lucy