如何合并两个dataframe表行堆叠
时间: 2024-10-09 15:05:01 浏览: 62
在Python的数据分析库pandas中,你可以使用concat()
函数或者merge()
函数结合stack()
操作来合并并堆叠两个DataFrame。以下是两种常见方法:
使用
concat() + stack()
:import pandas as pd # 假设df1和df2是你要合并的两个DataFrame df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'], 'B': [1, 2, 3]}) df2 = pd.DataFrame({'A': ['A0', 'A2', 'A3'], 'C': [4, 5, 6]}) # 合并行数据(堆叠) merged_df = pd.concat([df1, df2], ignore_index=True) # 首先水平合并 stacked_df = merged_df.stack() # 然后通过索引将列变为值 # 输出结果是一个Series,如果你想要一个DataFrame,可以指定新轴 print(stacked_df)
使用
merge() + pivot()
: 如果你需要基于共享的键进行合并,并且想保留原始列的层次结构,merge
加上pivot
也是可行的:merged_df = pd.merge(df1, df2, on='A') # 按'A'列合并 stacked_pivot_df = merged_df.pivot(index='A', columns='level_0', values='B:C') # 根据索引和列名堆叠 print(stacked_pivot_df)
相关推荐


















