当前位置: 首页 > news >正文

Day13_【DataFrame数据组合join合并】【案例】

join默认左连接

演示案例

1.加载数据

stocks_2016 = pd.read_csv(r"C:\Users\24251\Desktop\employment\02-数据处理和统计分析\数据集\stocks_2016.csv")
stocks_2017 = pd.read_csv(r"C:\Users\24251\Desktop\employment\02-数据处理和统计分析\数据集\stocks_2017.csv")
stocks_2018 = pd.read_csv(r"C:\Users\24251\Desktop\employment\02-数据处理和统计分析\数据集\stocks_2018.csv")

可以看到2016与2017表的行数不同,这就关乎到下面连接方法的最佳选择。

2.(不可取,仅演示)依据两个DataFrame(stocks_2016与stocks_2017)的行索引(0,1,2...) 

如果合并的两个数据有相同的列名,需要通过lsuffix,和rsuffix,指定合并后的列名的后缀

df1 = stocks_2016.join(stocks_2017,lsuffix="_2016",rsuffix="_2017"
)
print(df1.head())

不难发现合并的结果是不正确的。

2.1使用 外连接(Outer Join)的含义:保留两个 DataFrame 中所有行索引的并集

关键字:how="outer"

df2 = stocks_2016.join(stocks_2017,lsuffix="_2016",rsuffix="_2017",how="outer"
)
print(df2.head())

不难发现合并的结果也是不可取的。

3.(可取)将两个DataFrame的Symbol设置为行索引,再次join数据

df3 = stocks_2016.set_index("Symbol").join(stocks_2017.set_index("Symbol"),lsuffix="_2016",rsuffix="_2017"
)
print(df3.head())

可见结果是正确的

4.(可取)将一个DataFrame的Symbol列设置为行索引,与另一个DataFrame的Symbol列进行join

df4 = stocks_2016.join(stocks_2017.set_index('Symbol'),lsuffix='_2016',rsuffix='_2018',on='Symbol'
)
print(df4.head())

可见结果是正确的

http://www.dtcms.com/a/339875.html

相关文章:

  • 让模型不再忽视少数类:MixUp、CutMix、Focal Loss三种技术解决数据不平衡问题
  • RabbitMQ:SpringAMQP Direct Exchange(直连型交换机)
  • RabbitMQ:SpringAMQP 入门案例
  • Flink on Native K8S安装部署
  • 3.Kotlin 集合 Set 所有方法
  • es9.0.1语义检索简单示例
  • 颠覆性进化:OpenAI正式发布GPT-5,AI大模型进入“超级智能”时代
  • InnoDB为什么使用B+树实现索引?
  • 神经网络拆解:用Excel模拟手写数字识别
  • Flume学习笔记
  • OR+DBLINK的关联SQL优化思路
  • Transformer中的编码器和解码器是什么?
  • LLMs之RL之GSPO:《Group Sequence Policy Optimization》翻译与解读
  • 高校数字化转型实战:破解数据孤岛、构建智能指标体系与AI落地路径
  • 数据清理后续
  • 低功耗模式
  • Java配置文件
  • Consul- acl机制!
  • 01-Docker-简介、安装与使用
  • Linux学习-通信(信号,共享内存)
  • C++实现教务管理系统,文件操作账户密码登录(附源码)
  • gitlab、jenkins等应用集成ldap
  • AI学习之DeepSeek本地化部署
  • 数据结构-栈和队列
  • Go语言并发编程 ----- sync包
  • Js逆向案例 Scrape Spa2(Webpack自吐)
  • 2020年EAAI SCI1区TOP,基于ORPFOA算法的多无人机在线变化任务路径规划,深度解析+性能实测
  • RAG 面试题(实时更新补充)
  • 基于SpringBoot的篮球馆预约管理系统【2026最新】
  • 西门子博途DB数据块的详细用法以及如何与威纶通触摸屏变量关联