df.reindex()和df.loc[]的区别
假设我想计算两个MultiIndex数据框之间的df2 - df1
的相对补集。假设它们的索引结构是一样的,基于我在Andy Hayden的这个回答中看到的,我可以这样做:
diff_indices = df2.index - df1.index
然后可以选择:
df2.reindex(diff_indices, inplace=True)
或者
df2 = df2.loc[diff_indices]
那么上面1和2有什么区别呢?df.reindex
和df.loc
之间有什么不同?
1 个回答
10
这两种方法都会返回一个新的系列或数据框,基本上是做同样的事情。
看起来有点重复的原因是,使用 loc
的时候有一些语法上的限制(你只能给 __getitem__
传一个参数),而 reindex
是一个方法,它可以接受各种可选的参数。(文档)