网站首页 > 技术文章 正文
merge:连接查询(数据合并与重塑)
merge:将两个DataFrame根据一些共有的列连接起来:inner(默认的,可以不写)内连接(共有的),left左连接,right右连接,outer全外连接
import pandas as pd
import numpy as np
df1 = pd.DataFrame({'姓名':['张三','李四','王五','李四','张三','张三'],'出手次数':np.arange(6)})
df2 = pd.DataFrame({'姓名':['陆六','王五','李四'],'出手次数2':[1,2,3]})
print(df1)
print("*"*10)
print(df2)
print('-'*10)
# 用“姓名”连接,连接方式:内连接
df3 = pd.merge(df1,df2,on='姓名',how='inner')
print(df3)
print('~'*10)
# 左连接,谁在左边就以谁为标准
df4 = pd.merge(df1,df2,on='姓名',how='left')
print(df4)
print('='*10)
# 右连接
df5 = pd.merge(df1,df2,on='姓名',how='right')
print(df5)
print('+'*10)
# 全连接
df6 = pd.merge(df1,df2,on='姓名',how='outer')
print(df6)
多key连接,on用列表
import pandas as pd
df1 = pd.DataFrame({'姓名':['张三','张三','王五'],'班级':['1班','2班','1班'],'分数':[10,20,30]})
df2 = pd.DataFrame({'姓名':['张三','张三','王五','王五'],'班级':['1班','1班','1班','2班'],'分数':[40,50,60,70]})
print(df1)
print("*"*10)
print(df2)
print('-'*10)
# 内连接
df3 = pd.merge(df1,df2,on=['姓名','班级'])
print(df3)
print('~'*10)
# 外连接
df4 = pd.merge(df1,df2,on=['姓名','班级'],how='outer')
print(df4)
基于索引连接
import pandas as pd
df1 = pd.DataFrame({'姓名':['张三','李四','王五','张三','李四'],'次数':range(5)})
df2 = pd.DataFrame({'数据':[10,20]},index=['张三','李四'])
print(df1)
print("*"*10)
print(df2)
print('-'*10)
# 内连接
df3 = pd.merge(df1,df2,left_on='姓名',right_index=True)
print(df3)
print('~'*10)
# 外连接
df4 = pd.merge(df1,df2,left_on='姓名',right_index=True,how='outer')
print(df4)
参考资料:
B站:孙兴华《中文讲Python从入门到办公自动化》
猜你喜欢
- 2025-05-15 Python数据持久化:JSON
- 2025-05-15 Python自动化-Excel:openpyxl练习,求和、条件判断
- 2025-05-15 新手必看!Python 编程十大常见错误及避坑指南
- 2025-05-15 盘点3种Python网络爬虫过程中的中文乱码的处理方法
- 2025-05-15 Python自动化-Excel:pandas之填充
- 2025-05-15 [oeasy]python0129_unicode中文字符序号十三道大辙_字符编码解码
- 2025-05-15 Python自动化-Excel:pandas之concat
- 2025-05-15 python 编码知识中文乱码问题解决
- 2025-05-15 python入门教程完整版(懂中文就能学会)
- 2025-05-15 Python入门教程完整版(懂中文就能学会)
- 05-25Python 3.14 t-string 要来了,它与 f-string 有何不同?
- 05-25Python基础元素语法总结
- 05-25Python中的变量是什么东西?
- 05-25新手常见的python报错及解决方案
- 05-2511-Python变量
- 05-2510个每个人都是需要知道Python问题
- 05-25Python编程:轻松掌握函数定义、类型及其参数传递方式
- 05-25Python基础语法
- 257℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 91℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 81℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)