ps:我只说我用到的
1、功能
用于合并 两个 df。
2、语法
merge(left, right, left_ont, right_on, how)
参数:
- left:df对象
- right:df对象
- left_ont:left对象用于连接的列名
- right_ont:right对象用于连接的列名
- how:连接方式
- left:左连接,返回包括左表中的所有记录和右表中连接字段相等的记录。
- right (右连接):返回包括右表中的所有记录和左表中连接字段相等的记录
- inner (等值连接或者叫内连接):只返回两个表中连接字段相等的行。
3、示例
假设有如下df:
df1:
id name
0 28672 一号楼
1 62272 二号楼
2 66368 三号楼
3 24128 四号楼
4 12896 五号楼
df2:
local_id value receivetime
0 26090 0.0 2022-08-31
1 26118 27 2022-08-31
2 28672 0.0 2022-08-31
3 40960 0.0 2022-08-31
4 62272 87 2022-08-31
5 66368 0.0 2022-08-31
6 24128 19 2022-08-31
7 26094 84 2022-08-31
8 12896 83 2022-08-31
执行df1和df2的合并:
……
df3 = pd.merge(df1, df2, left_on="id", right_on="local_id", how="left")
……
id name local_id value c_receivetime
0 28672 一号楼 28672 0.0 2022-08-31
1 62272 二号楼 62272 87 2022-08-31
2 66368 三号楼 66368 0.0 2022-08-31
3 24128 四号楼 24128 19 2022-08-31
4 12896 五号楼 12896 83 2022-08-31
- 按照df1的id 和df2的local_id进行合并
- 保留df1中所有记录,df2中与df1中相同的记录。
4、indicator参数
indicator=True
是 pandas
中 merge
方法的一个选项,用于在合并的结果中添加一个额外的列
_merge
,该列指示每行的合并状态。在这种情况下,如果某行的 _merge
列的值为 'left_only'
,表示该行只在左侧的
DataFrame(last_monitor_df
)中存在,但在右侧的 DataFrame(query_monitor_df
)中不存在。
同理还有both
、right_only
评论列表,共 0 条评论
暂无评论