Python数据分析基础(五)——数据规整
数据规整是数据处理的前提条件。pandas和Python标准库提供了一组高级、灵活、高效的核心函数和算法。
pandas merge函数的参数
参数 | 说明 |
---|---|
left | 参与合并的左侧DataFrame |
right | 参与合并的右侧DataFrame |
how | “inner”、“outer”、“left”、“right”其中之一。默认为“inner” |
on | 用于连接的列名 |
left_on | 左侧DataFrame中用作连接键的列 |
right_on | 右侧DataFame中用作连接键的列 |
left_index | 将左侧的行索引用作其连接键 |
right_index | 类似于left_index |
sort | 根据连接键对合并后的数据进行排序,默认为True。 |
suffixes | 字符串值元组,用于追加到重叠列名的末尾,默认为('_x', '_y')。 |
copy | 设置为False,可以在某些特殊情况下避免将数据复制到结果数据结构中。默认是复制 |
pandas concat函数的参数
参数 | 说明 |
---|---|
objs | 参与连接的pandas对象的列表或字典。唯一必需的参数 |
axis | 指明连接的轴向,默认为0 |
join | “inner”、“outer”其中之一,默认为“outer”。 |
join_axes | 指明用于其他n-1轴的索引,不执行并集/交集运算 |
keys | 与连接对象有关的值,用于形成连接轴向上的层次化索引。 |
levels | 指定用作层次化索引各个级别上的索引,如果设置了keys的话 |
names | 用于创建分层级别的名称,如果设置了keys和(或)levels的话 |
verify_integrity | 检查结果对象新轴上的重复情况,如果发现则引发异常。默认(False)允许重复 |
ignore_index | 不保留连接轴上的索引,产生一组新索引range(total_length) |
Python内置的字符串方法
方法 | 说明 |
---|---|
count | 返回子串在字符串中的出现次数(非重叠) |
endswith、startswith | 如果字符串以某个后缀结尾(以某个前缀开头),则返回True |
join | 将字符串用作连接其他字符串序列的分隔符 |
index | 如果在字符串中找到子串,则返回子串第一个字符所在的位置。如果没有找到,则引发ValueError |
find | 如果在字符串中找到子串,则返回第一个发现的子串的第一个字符所在的位置。如果没有找到,则返回-1 |
rfind | 如果在字符串中找到子串,则返回最后一个发现的子串的第一个字符所在的位置。如果没有找到,则返回-1 |
replace | 用另一个字符串替换指定子串 |
strip、rstrip、lstrip | 去除空白符(包括换行符) |
split | 通过指定的分隔符将字符串拆分为一组子串 |
lower、upper | 分别将字母字符转换为小写或大写 |
ljust、rjust | 用空格(或其他字符)填充字符串的空白以返回符合最低宽度的字符串 |
正则表达式方法
方法 | 说明 |
---|---|
findall、finditer | 返回字符串中所有的非重叠匹配模式。findall返回的是由所有模式组成的列表,而finditer则通过一个迭代器逐个返回 |
match | 从字符串起始位置匹配模式,还可以对模式各部分进行分组。如果匹配到模式,则返回一个匹配项对象,否则返回None |
search | 扫描整个字符串以匹配模式。 |
split | 根据找到的模式将字符串拆分为数段 |
sub、subn | 将字符串中所有的(sub)或前n个(subn)模式替换为指定表达式。 |
矢量化的字符串方法
方法 | 说明 |
---|---|
cat | 实现元素级的字符串连接操作,可指定分隔符 |
contains | 返回表示各字符串是否含有指定模式的布尔型数组 |
count | 模式的出现次数 |
endswith、startswith | 以某个模式开始或结束 |
findall | 计算各字符串的模式列表 |
get | 获取各元素的第i个字符 |
join | 根据指定的分隔符将Series中各元素的字符串连接起来 |
len | 计算各字符串的长度 |
lower、upper | 转换大小写 |
match | 根据指定的正则表达式对各个元素执行re.match |
pad | 在字符串的左边、右边或左右两边添加空白字符 |
center | 相当于pad(side='both') |
repeat | 重复值 |
replace | 用指定字符串替换找到的模式 |
slice | 对Series中的各个字符串进行子串截取 |
split | 根据分隔符或正则表达式对字符串进行拆分 |
strip、rstrip、lstrip | 去除空白符,包括换行符 |
参考文献:
利用Python进行数据分析. Wes McKinney. 唐学韬译