Python新手求助:如何合并june_df与july_df的quantity列并保持索引连续?
嘿,作为Python新手碰到这种DataFrame合并的问题太正常啦!我来给你一步步讲清楚怎么把这两个表的quantity列合并成连续一致的结果~
场景1:june_df的最后索引刚好和july_df的起始索引62衔接
如果你的june_df最后一条数据的索引是61(刚好跟july_df的62接上),那直接用pd.concat拼接两个quantity列就行,索引会自然保持连续:
import pandas as pd # 先提取两个DataFrame里的quantity列 june_qty = june_df['quantity'] july_qty = july_df['quantity'] # 合并成索引连续的Series combined_qty = pd.concat([june_qty, july_qty])
这样得到的combined_qty索引就是从0(假设june_df是从0开始)到61,接着62延伸到62 + len(july_df) - 1,完全符合你要的连续效果。
场景2:两个表的索引原本存在断层
如果june_df的最后索引不是61(比如只到50,和july_df的62之间有空缺),想要合并后索引完全连续没有空隙,就给concat加上ignore_index=True参数,它会忽略原来的索引,重新生成从0开始的连续整数索引:
combined_qty = pd.concat([june_df['quantity'], july_df['quantity']], ignore_index=True)
不管原来的索引是什么样,合并后的结果索引都会是0,1,2,...,总行数-1,绝对连续无断层。
额外技巧:手动自定义连续索引
要是你想自己控制合并后的起始索引(比如从某个特定数字开始),可以手动重置july_df的索引:
# 先拿到june_df最后一条数据的索引值 last_june_idx = june_df.index[-1] # 重置july的quantity列索引,从last_june_idx+1开始往后排 july_qty_reindexed = july_df['quantity'].reset_index(drop=True) july_qty_reindexed.index = range(last_june_idx + 1, last_june_idx + 1 + len(july_qty_reindexed)) # 最后合并两个列 combined_qty = pd.concat([june_df['quantity'], july_qty_reindexed])
这种方式灵活性更高,适合有特殊索引需求的场景。
内容的提问来源于stack exchange,提问作者Wilson Mak
相关产品推荐
相关产品推荐

