基于Datetime将DataFrame df2的多行追加至df1的实现方法
嘿,这个需求在pandas里处理起来超简单,有几种靠谱的方法,我给你拆解一下:
方法1:使用pd.concat()(官方推荐)
这是pandas官方最推荐的合并同结构DataFrame的方式,尤其适合你这种把一个df的所有行追加到另一个后面的场景:
import pandas as pd # 假设你已经加载好了df1和df2 combined_df = pd.concat([df1, df2], ignore_index=True)
这里的ignore_index=True是关键——它会让合并后的新DataFrame生成连续的新索引,避免原两个df的索引重复导致后续操作出问题。如果不需要重置索引,可以去掉这个参数,但一般都建议加上,让数据结构更整洁。
方法2:使用df.append()(已弃用,不推荐)
虽然这个方法之前很常用,但从pandas 2.0版本开始已经被标记为弃用了,所以更建议你用上面的concat方法。不过如果是维护老代码的话,还是可以了解一下:
combined_df = df1.append(df2, ignore_index=True)
额外补充:去重(如果需要)
注意到你的两个df里有重复的日期行(2018-03-03到2018-03-05),如果合并后想去掉这些重复行,只保留唯一记录,可以在合并后加上drop_duplicates():
combined_df = pd.concat([df1, df2], ignore_index=True).drop_duplicates()
这样就能得到没有重复行的合并结果啦。
内容的提问来源于stack exchange,提问作者Karma
相关产品推荐
相关产品推荐

