我有一帧看起来像这样(df):
2000q1 2000q2 2000q3
州RegionName
纽约纽约NaN NaN NaN
加利福尼亚洛杉矶207066.666667 214466.666667 220966.666667
伊利诺伊州芝加哥138400.000000 143633.333333 147866.666667
(请注意,这里的State,RegionName是一个MultiIndex)
一帧看起来像这样(ut):
州RegionName
0阿拉巴马州奥本
1阿拉巴马州佛罗伦萨
2阿拉巴马州 jackson 维尔
3阿拉巴马州利文斯顿
4阿拉巴马州蒙特瓦尔洛
因此,要获取两个数据帧中State,RegionName都位于的所有行,请执行以下操作:
dfut = pd.merge(df,ut,how ='inner',left_index = True,right_on = ['State','RegionName'])
这样可行。我现在想要一个行列表,其中df框架中的行不在ut框架中-就像“不内部联接”。我很确定我需要做一个LEFT联接,这会给我整个df,但是我不确定如何从中减去ut相交的行。希望它清除。谢谢
最佳答案
在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"')
关于pandas - 如何识别数据帧合并期间内部联接中没有的内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40518639/