6.数据整合
以此为例
一.使用concat合并数据
主要参数 | 接收 | 作用 | 默认 |
---|---|---|---|
axis | Boolean | 确定合并操作横轴(0行操作,1列操作) | 0 |
Join | String | 内链接(outer)/外链接(inner) | outer |
1.行操作(axis=0)
(1)内连接
pd.concat([DataFrame1,...DataFramen])
示例
(2)外连接
pd.concat([DataFrame1,...DataFrameN],join="inner")
示例
2.列操作(axis=1)
(1)内连接
pd.concat([DataFrame1,...DataFrameN],axis=1)
示例
(2)外连接
pd.concat([DataFrame1,...DataFrameN],axis=1,join="inner")
示例
二.使用append合并数据
只限与行操作,纵向操作
DataFrame1.append([DataFrame2,...DataFrameN])
示例
三.重复合并
1.主键重复
(1) merge
参数名 | 接收 | 意义 | 默认 |
---|---|---|---|
left | DataFrame/Series | 要添加的新数据1 | 无 |
right | DataFrame/Series | 要添加的新数据2 | 无 |
how | Inner /outer /left /right | 数据的连接方式 | inner |
on | String / sequence | 两个数据合并的主键 | None |
left_on | String / sequence | Left 参数接收合并主键 | None |
right_on | String / sequence | right 参数接收合并主键 | False |
left_index | boolean | 是否将left参数接受的index作为主键 | False |
right_on | boolean | 是否将right参数接受的index作为主键 | False |
sort | boolean | 是否根据连接键合并后的数据进行排序 | False |
suffixes | tuple | 追加left/right参数接收列名的后缀 | (”_x”,”_y”) |
pd.merge(DataFrame1,..DataFrameN,on/left_on/right_on=[主键])
示例
(2)join
参数名称 | 接收 | 意义 | 默认 |
---|---|---|---|
other | DataFrame/Series | 参与连接的其他DataFrame | 无 |
on | List/tuple | 用于连接的列名 | None |
how | String | inner内
outer外 left左 right右 |
inner |
lsuffix | string | 追加左侧重叠列名的尾缀 | 无 |
rsuffix | string | 追加右侧重叠列名的尾缀 | 无 |
sort | boolean | 是否合并后排序 | Flase |
DataFrame1.join(DataFrame2,on=[主键])
2.内容重复
Combing
特点1: 无值,补空值
特点2: 有值,保留DataFrame1的值
DataFrame1.combine_first(DataFrame2)
示例