【问题标题】:The number of rows gets reduced when I use merge function to merge 2 dataframes in python当我使用合并函数在 python 中合并 2 个数据帧时,行数会减少
【发布时间】:2020-08-11 05:32:49
【问题描述】:

如果我在一个数据帧的输出中有 1232 行,在另一个数据帧中有 1255 行,那么当我使用合并和打印输出时,我只得到 1206 条记录。如何解决这个问题?我尝试使用 left_on 和 right_on。一些记录在其中一列中有空值,并且一些空值也打印在 1206 条记录中。但我也希望所有 1255 条记录都具有空值。

df1=第一个数据帧 df2=第二个数据帧

df_1_2=df1.merge(df2,left_on='month',right_on='month')

【问题讨论】:

  • 可以使用df1.merge(df2, how='outer', ...)?
  • 有效,但它打印 1282 条记录,然后我使用 reorder_columns 仅打印 df2 列的输出,它打印 1116 条记录。当我对 df2 使用 reorder_columns 时,我想打印 df2 记录的数量。
  • 那么你可能想要how='left' of how='right'...

标签: python pandas dataframe merge


【解决方案1】:

我喜欢在轴上使用pd.concat()。它基本上会将一个df附加到另一个。 Here.

【讨论】:

  • 当我使用 concat 时,会打印 2486 条记录
  • 对,如果你想水平连接,你必须指定轴。确切的代码是:df_1_2 = pd.concat( [df1, df2], axis = 1, ignore_index=True)
猜你喜欢
  • 1970-01-01
  • 2022-01-07
  • 2020-11-02
  • 1970-01-01
  • 2021-11-23
  • 2022-11-29
  • 2021-05-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多