我有两个具有相同索引类型(用户ID)的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中,因此我曾期望它会变小。有更好的方法吗?请注意,行无论如何都不会排序,我唯一需要跟踪的就是索引。

最佳答案

isin怎么样?

Smalldf = Smalldf[Smalldf.index.isin(Largedf.index))]

08-28 02:39