我有一个看起来像这样的框架(df):
2000q1 2000q2 2000q3
State RegionName
New York New York NaN NaN NaN
California Los Angeles 207066.666667 214466.666667 220966.666667
Illinois Chicago 138400.000000 143633.333333 147866.666667
(注意State,RegionName这里是MultiIndex)
和一个看起来像这样的框架(ut):
State RegionName
0 Alabama Auburn
1 Alabama Florence
2 Alabama Jacksonville
3 Alabama Livingston
4 Alabama Montevallo
因此,为了获得State,RegionName在两个数据帧中的所有行,我这样做:
dfut = pd.merge(df, ut, how='inner', left_index=True, right_on=['State', 'RegionName'])
这样可行.我现在想要一个行列表,其中来自df帧的行不在ut帧中 - 就像"NOT inner join".我很确定我需要做一个LEFT连接,这将给我整个df,但我不知道如何从中减去相交的行.希望清楚.谢谢
indicator=True在你的merge和中包含参数query('_merge != "both"')
dfut = pd.merge(df, ut, how='outer',
left_index=True, right_on=['State', 'RegionName'],
indicator=True)
dfut.query('_merge != "both"')
Run Code Online (Sandbox Code Playgroud)