我有两个数据框,每个数据框具有不同的列名,但是有一个共同的单个列名 两者之间,“ daydate”
df_dates的形状为90x1,其中每行在过去3个月中都有一个连续的日期。看起来像这样:
columns = ['daydate' ]
df1.iloc[0] = ['01-01-2019']
...
df1.iloc[90] = ['04-01-2019']
df_data的形状为15x3,看起来与此类似:
columns = ['daydate', 'hot_or_cold', 'thin_or_wide' ]
df1.iloc[0] = ['01-01-2019', 'hot', 'wide' ]
...
df1.iloc[10] = ['01-10-2019', 'cold', 'wide' ]
我想做的是将这两个数据帧组合成一个newdf
。 newdf
的形状应为90x3。输出应该类似于日历,其中每一行都是来自df_dates
的连续90天期间的日期,并且df_dates
和df_data
之间具有匹配的datedate的每一行都将获得来自df_data
的rowdata在其对应的日期附加到newdf
。并且没有匹配的datedate的每一行都填充了零。
预期输出:
['01/01/2019', 'hot', 'wide']
...
['02/01/2019', '0', '0' ]
...
['03/25/2019', 'hot', 'thin']
我曾经尝试使用pd.merge(df1,df2,on='daydates')
,但是它没有给我完整的“日历”,而是给了我两者之间匹配的数据。 (形状可能是15x3。)但是我想从这两个数据(形状90x3)全部 。我也尝试了其他几种方法,例如pd.concat
,但均未成功,并尝试迭代构建新的数据框。任何帮助将不胜感激!