无法在没有格式问题的情况下合并 2 个数据框?

Cant combining 2 dataframes without formatting issues?

我有 2 个从网上抓取的数据框,我需要将它们组合成一个数据框以导出到 excel。但是我 运行 遇到格式问题,需要看看是否有人可以帮我解决这个问题。

数据框 1=

df1= pd.DataFrame(table_contents)
    df1= df1.replace(r'\n','',regex=True)
    print(df1)

结果:

           0                     1           2
0    Order Number       Manager         Order Date
1  Z57-808456-9         Victor Tully    01/13/2022

Dataframe2=

order_list.append(order_info)
df2 = pd.DataFrame(order_list)
df2.head()
print(df2)

结果:

     Order Number      Location        Zip Code
 0  Z57-808456-9    Department 28      48911

我试过使用几种不同的替代方法,但仍然没有得到正确的结果。

combined_dfs= pd.concat([df1,df2],axis=1,join="inner")
print (combined_dfs)

结果:

  Order Number       Location   Zip Code            0                  1          2
 0 Z57-808456-9  Department 28  48911       Order Number         Manager       Order Date

我试图将它们全部放在 2 行上,并可能删除显示在两行上的重复订单号。如果不是,我仍然可以完全接受它和一个副本。

预期结果:

  Order Number       Location   Zip Code      Manager           Order Date          
  Z57-808456-9  Department 28   48911       Victor Tully         01/13/2022       

您可以在 DataFrame.set_axis, remove first row by iloc[1:] 中按第一行创建列,然后加入 df2:

df = df1.set_axis(df1.iloc[0], axis=1, inplace=False).iloc[1:]
combined_dfs = df2.merge(df, on='Order Number')

print (combined_dfs)
   Order Number       Location  Zip Code       Manager  Order Date
0  Z57-808456-9  Department 28     48911  Victor Tully  01/13/2022

在您的第一个数据框中,列名似乎是第一行。您可以删除第一行并重命名列,然后合并两个数据框。

# remove first row of data
df1 = df1.iloc[1:].reset_index()
# set column names
df1.columns = ['Order Number', 'Location', 'Zip Code']
# merge dataframes on order number
combined_df = pd.merge(df1, df2, on='Order Number', how='inner')
pd.merge(df1, df2, on='Order Number')