使用两个键将数据帧与panda合并



我有两个数据集,一个有单独的报告,另一个有区域条件。单独的行比区域行多得多,但我想将区域数据附加到每个单独的行上。我面临的问题是,我必须使用两个主键进行合并,例如

单个-5000行
代码|时间|数据1|数据2|数据3

区域-100行
代码|时间|RData1|RData2

--我尝试使用但失败了

df = individual.merge(regional, how='left', on=['Code', 'Time'])

--这使得RData1,2在新的df中为空值,值得称赞的是,它看起来像

df-5000行
代码|时间|数据1|数据2|数据3|RData1|RData2

但空值对我没有帮助…

示例数据
我看到的

数据

生成随机df

rng = pd.date_range('2015-02-24', periods=5, freq='T')
df = pd.DataFrame({ 'Time': rng, 'data1': np.random.randn(len(rng)),'code':[201, 897,345, 70,879] }) 
df.set_index(['Time','code'], inplace=True)
df

生成随机df1

df1 = pd.DataFrame({ 'Time': rng, 'data1': np.random.randn(len(rng)),'code':[201, 30,345, 70,879] }) 
df1.set_index(['Time','code'], inplace=True)
df1

索引合并可以按照以下进行

result =df1.merge(df, left_index=True, right_index=True, suffixes=('_Left','_Right'))
result

或者更好的

result =pd.merge(df, df1,left_index=True, right_index=True, suffixes=('_Left','_Right'))
result

相关内容

  • 没有找到相关文章

最新更新