首页 > 解决方案 > 在 Python 中将 2 个数据框与 NO COMMON 列组合在一起

问题描述

我想加入两个没有任何共同列且列数相同的数据框。我也尝试过合并但没有运气。

下面是我的python脚本:

import pandas as pd

FileFolder = r'(JAN-MAY 2021).xlsx'
BookingDF = pd.read_excel(FileFolder,skiprows=9)
BookingDF.iloc[pd.RangeIndex(len(BookingDF)).drop(1)]


VanDF = pd.read_excel(FileFolder,sheet_name='JANUARY VANSALES')

#Combine DF - with NO COMMON Columns
BookingHeader = BookingDF[['ID#','Name','w/bottles']]
VanHeader = VanDF[['Customer ID','Customer','W/BOTTLES']]

CG_DF = [BookingHeader,VanHeader]

CG = pd.concat(CG_DF, axis=0, ignore_index=True)

print(CG)

当前结果:

    ID#                       Name  w/bottles  Customer ID         Customer  W/BOTTLES
0    397414EK                   VICTORIAS       30.0          NaN              NaN        NaN
1    397414EK                   VICTORIAS       20.0          NaN              NaN        NaN
2    397414EK                   VICTORIAS        6.0          NaN              NaN        NaN
3    397414EK                   VICTORIAS        6.0          NaN              NaN        NaN
4    397414EK                   VICTORIAS       20.0          NaN              NaN        NaN
..        ...                        ...        ...          ...              ...        ...
136       NaN                        NaN        NaN       1096.0      test Store        5.0
137       NaN                        NaN        NaN       1096.0      test Store        5.0
138       NaN                        NaN        NaN       1554.0   test Pharmacy         30.0
139       NaN                        NaN        NaN       1502.0             LCJR       12.0
140       NaN                        NaN        NaN       1450.0             test        6.0

预期结果:

   ID#            Name            w/bottles 
0    397414EK       VICTORIAS       30.0 
1    397414EK       VICTORIAS       20.0 
2    397414EK       VICTORIAS        6.0 
3    397414EK       VICTORIAS        6.0 
4    397414EK       VICTORIAS       20.0 
..        ...                        ...        ... 
136  1096          test Store        5.0
137  1096          test Store        5.0
138  1554      test Pharmacy         30.0
139  1502               LCJR         12.0
140  1450               test         6.0 

标签: pythonpandas

解决方案


这应该可以解决问题

VanHeader.columns=BookingHeader.columns
df = pd.concat([BookingHeader,VanHeader], axis=0)

推荐阅读