繁体   English   中英

连接具有不同索引的数据框

[英]Join dataframe with different indices

请考虑以下以每日日期为索引的数据框

    df1= pd.date_range(start_date, end_date)
    df1 = pd.DataFrame(index=date_range, columns=['A', 'B'])

现在我有第二个数据帧df2,其中df2.index是df1.index的子集,我想将df2中的数据连接到df1中,而对于缺少的索引,我想使用NAN。 在第二步中,我想用最近的可用数据替换NaN,如下所示:

 2004-03-28 5
 2004-03-30 NaN
 2004-03-31 NaN
 2004-04-01 7

应该成为

 2004-03-28 5
 2004-03-30 5
 2004-03-31 5
 2004-04-01 7

非常感谢您的帮助

假设您具有公共索引,并且只有一个列在两个数据框中都被命名为相同的列:

第一次合并

df1 = df1.merge(df2, how='left')

现在使用'ffill'填充缺失值,这意味着向前填充

df1 = df1.fillna(method='ffill')

在列的名称不同的情况下,您可以重命名列:

right.rename(columnss={'old_name':'new_name'},inplace=True)

或从左侧和右侧指定要合并的列:

df1.merge(df2, left_on='left_col', right='right_col', how='left')

如果索引不匹配,则必须设置left_index=Falseright_index=False

暂无
暂无

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

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