繁体   English   中英

如何在多个列值上组合具有不同形状的两个数据框

[英]How to combine two dataframes with different shapes on multiple column values

预先感谢您的时间和精力来回答。 我正在尝试组合具有不同形状的两个数据框(一个包含当前数据,另一个包含未来预测数据)

例如,

df1 = ['日期','ColA','ColB','ColC','GroupNumber']

df2 = ['日期','Col1','Col2','Col3','GroupNumber']

其中 df1 的形状为 (3000, 5),df2 的形状为 (5000, 5)。

我想将这两个数据框组合在相同的“日期”和“组号”列值上。

最后,它看起来像:

final_df = ['Date', 'ColA', 'ColB', 'ColC','Col1', 'Col2', 'Col3', 'GroupNumber'] 形状为 (5000, 8)

由于 df1 小于 df2,因此组合时某些行将是空的。

当然,这些形状只是我想出的一个任意数字作为示例。 我试过了

''' final_df = df1.join(df2, lsuffix='_actual', rsuffix='_prediction', on='GroupNumber','Date') '''

但这并不完全奏效。 如果有人有建议,我将不胜感激。 谢谢!

您可以使用 pandas merge来执行left join

import pandas as pd
final_df = pd.merge(df1,df2,on=['GroupNumber','Date'],how='left')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM