Pandas实现按照时间维度合并多张表

 更新时间:2025年09月02日 08:48:10   作者:羊肉串儿加点辣  
文章对比了Pandas中pd.merge()与pd.concat()的拼接方法,指出merge()通过索引合并更灵活,而concat()为硬性拼接,随后使用sort_index()解决索引排序问题,最终实现两表按时间值正确合并

1.数据样式和目标

1.1 数据样式

  • A表:
timevalue
1996-1-1111
1996-1-2222
1996-1-6333
1996-1-10444
  • B表:
timevalue
1996-1-2555
1996-1-5666
1996-1-11777
1996-1-12888

1.2 拼接目标样式

timevalue_Avalue_B
1996-1-1111null
1996-1-2222555
1996-1-5null666
1996-1-6333null
1996-1-10444null
1996-1-11null777
1996-1-12null888

2. 拼接方法

我尝试了pd.merge()和pd.concat()这两种方法,发现pd.merge()才是我想要的拼接形式,按索引拼接;

而pd.concat()属于硬性拼接,只会把双方的第一行第二行拼接一起。

2.1 pd.merge()

df = pd.merge(left=left_df, right=right_df, how='outer', on='time')
  • 拼接结果为:
timevalue_Avalue_B
1996-1-1111null
1996-1-2222null
1996-1-6333null
1996-1-10444null
1996-1-2null555
1996-1-5null666
1996-1-11null777
1996-1-12null888

2.2 df.sort_index()

为了将上述数据处理成我们想要的格式,我尝试了df.groupby(),发现只能是DataframeGroupBy对象,而非我们想要的Dataframe,转换非常麻烦;

后来发现了df.sort_index()方法,按照索引排序,解决!

df = df.sort_index()
  • 代码结果为:
timevalue_Avalue_B
1996-1-1111null
1996-1-2222555
1996-1-5null666
1996-1-6333null
1996-1-10444null
1996-1-11null777
1996-1-12null888

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python3.5绘制随机漫步图

    python3.5绘制随机漫步图

    这篇文章主要为大家详细介绍了python3.5绘制随机漫步图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Python使用POP3和SMTP协议收发邮件的示例代码

    Python使用POP3和SMTP协议收发邮件的示例代码

    这篇文章主要介绍了Python使用POP3和SMTP协议收发邮件的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • python3实现zabbix告警推送钉钉的示例

    python3实现zabbix告警推送钉钉的示例

    今天小编就为大家分享一篇python3实现zabbix告警推送钉钉的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • tensorflow使用range_input_producer多线程读取数据实例

    tensorflow使用range_input_producer多线程读取数据实例

    今天小编就为大家分享一篇tensorflow使用range_input_producer多线程读取数据实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • pandas索引与赋值操作、排序以及Series排序和DataFrame排序方式

    pandas索引与赋值操作、排序以及Series排序和DataFrame排序方式

    这篇文章主要介绍了pandas索引与赋值操作、排序以及Series排序和DataFrame排序方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 详解Python 中的短路评估

    详解Python 中的短路评估

    短路是指当表达式的真值已经确定时终止布尔运算,Python 解释器以从左到右的方式计算表达式,这篇文章主要介绍了Python 中的短路评估,需要的朋友可以参考下
    2023-06-06
  • python的pygal模块绘制反正切函数图像方法

    python的pygal模块绘制反正切函数图像方法

    在本篇文章中我们给大家整理了关于如何用python的pygal模块绘制反正切函数图像的知识点内容,有需要的朋友们可以学习下。
    2019-07-07
  • Python Numpy 数组的初始化和基本操作

    Python Numpy 数组的初始化和基本操作

    Python 是一种高级的,动态的,多泛型的编程语言。接下来通过本文给大家介绍Python Numpy 数组的初始化和基本操作,感兴趣的朋友一起看看吧
    2018-03-03
  • python实现DEM数据的阴影生成的方法

    python实现DEM数据的阴影生成的方法

    这篇文章主要介绍了python实现DEM数据的阴影生成的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python脚本实现下载合并SAE日志

    Python脚本实现下载合并SAE日志

    这篇文章主要介绍了Python脚本实现下载合并SAE日志,本文讲解了代码编写过程,然后给出了完整代码,需要的朋友可以参考下
    2015-02-02

最新评论