问题:尝试使用掩码过滤一个数据帧,该掩码将其索引与另一个数据帧的索引进行比较。我已经创建了一个布尔掩码,但我的尝试只返回一个空数据集。
问题:有没有办法屏蔽使用索引,或者可能通过将索引转换为列并比较数据帧?
面具看起来像:
my_towns.set_index(['State', 'RegionName'], inplace=True)
index1 = my_towns.index
index2 = qtr_data.index
qtr_data[qtr_data.index.isin(my_towns.index)]
结果是一个空的数据帧。
测试数据集my_towns和qtr_data。这些dfs都有多索引。在上面的屏蔽步骤之后,可以从下面的例子中创建一个简单的例子,即使用df2.index作为df1行的过滤器。
df1 = pd.DataFrame({'State' : ['Hawaii', 'Alabama', 'California', 'Washington'], 'Region' : ['Honolulu', 'Mobile', 'Los Angeles', 'Spokane'], '2001q1' : ['123','345','456','567']}).set_index(['State','Region'])
df2 = pd.DataFrame({'State' : ['Alabama', 'California', 'Washington'], 'Region' : ['Mobile', 'Los Angeles', 'Spokane']}).set_index(['State', 'Region'])