文章目录
- 一、字符串操作
- 备注:如果想要全部行都能输出,可输入如下代码
- 1、字符检索
- 2、字符转换
- 3、字符类型判断
- 4、字符调整
- 5、字符对齐与填充
- 6、字符检索
- 7、字符切割
- 8、字符整理
- 二、透视表
- 1、pd.pivot_table
- 2、多级透视表
一、字符串操作
备注:如果想要全部行都能输出,可输入如下代码
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity='all'
Series中的字符串如果包含缺失值,最快的处理办法是pandas字符串操作方法
1、字符检索
- find()返回字符串第一次出现的位置,如果没有匹配项则返回 -1
- rfind()返回字符串最后一次出现的位置,如果没有匹配项则返回 -1
2、字符转换
- lower():全部转为小写
- upper():全部转为大写
- title:将每个单词的第一个字符转换为大写和保持小写。
- capitalize():将第一个字符转换为大写字母保持小写。
- swapcase() :将大写转换为小写,小写转换为大写。
- translate():字符串转换
3、字符类型判断
- islower():是否小写
- isupper():是否大写
- isnumeric():是否数字或数字字符串
- isalnum()是否为字母或数字
- isdecimal()是否字符串中的所有字符都是十进制
- isalpha()是否字符串中的所有字符都是字母字符
- isdigit()是否字符串只包含数字
- isspace()是否字符串中只包含空格
- istitle()是否所有单词首字母大写,其余字母小写
4、字符调整
- ljust():定长,左补
- rjust():定长,右补
5、字符对齐与填充
- startswith()检查字符串是否以指定的前缀开头
- endswith()检查字符串是否是指定的后缀
- center()将字符串居中并填充指定的字符,使达到指定的长度
- zfill()在字符串的左侧填充指定数量的零(zero),使字符串达到指定的长度
6、字符检索
- index()从左至右寻找指定字符,找不到则报错
- rindex()从右至左寻找指定字符,找不到则报错
- find()找不到字符,则返回-1
7、字符切割
- split()将字符串按照指定的分隔符进行分割,返回一个字符串列表
- rsplit()将一个字符串从右边分割成多个子字符串,并将它们放在一个列表中返回
- partition()在左开始第一次出现分隔符的位置将字符串分割,并返回一个由三个字符串组成的元组,分别是分隔符之前的部分、分隔符本身和分隔符之后的部分
- rpartition()在右开始第一次出现分隔符的位置将字符串分割,并返回一个由三个字符串组成的元组,分别是分隔符之前的部分、分隔符本身和分隔符之后的部分
8、字符整理
- strip():去除字符串前后空格
- rstrip():去除字符串后面的空格
- lstrip():删除字符串开头的指定字符(默认为空格)或字符集
二、透视表
1、pd.pivot_table
pd.pivot_table(values=None, index=None, columns=None,fill_value=None, aggfunc=np.sum,margins=False,dropna=True,margins_name='All)
- values要筛选的列,可选
- index在数据投失败索引上分组的键
- columns在数据透视表列上分组的键
- aggfunc:function,function of list,dict,default numpy.mean
如果传递的函数列表,则生成的透视表将具有分层列
如果传递了dict,则键是要聚合的列,值是函数或函数列表 - fill_value标量,默认无,用于替换缺失值的值
- margins布尔值,默认False,添加索引行/列(例如,对于小计/总计)
- dropna布尔值,默认True,不包括条目全部为NaN的列
- margins_name:String,默认为All,当边距为真时,将包含总计的行/列的名称
打印出现乱码时,原因大概率为字体方面,可通过运行以下代码解决:
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 指定默认字体:解决plot不能显示中文问题
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题