我有两个具有相同类型索引(userid)的DataFrame,但它们都不是另一个的子集。我想删除较小的所有行,这些行不会出现在较大的行中。我的印象是这是loc函数的预期用途,但实际上它增加了行。
Largedf.shape
Out[2]: (7341253, 39)
Smalldf.shape
Out[3]: (588939, 2)
Smalldf = Smalldf.loc[Largedf.index]
Smalldf.shape
Out[5]: (7341253, 2)
Largedf.shape
Out[6]: (7341253, 39)
Smalldf中有几个用户不在Largedf中,所以我原本预计它会变小。有没有更好的方法来做到这一点?请注意,行无论如何都没有排序,我唯一需要跟踪的是索引。
答案 0 :(得分:1)
isin
怎么样?
Smalldf = Smalldf[Smalldf.index.isin(Largedf.index))]