[英]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=False
和right_index=False
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.