df.reindex()和df.loc []之间的区别

Ame*_*ina 1 python pandas

假设我想计算两个MultiIndex数据帧之间的相对补码 df2 - df1.假设它们具有相同的索引模式,基于我在Andy Hayden的回答中所看到的,我可以执行以下操作:

diff_indices = df2.index - df1.index
Run Code Online (Sandbox Code Playgroud)

然后是:

  1. df2.reindex(diff_indices, inplace=True)

    要么

  2. df2 = df2.loc[diff_indices]

1.和2.上面的区别是什么?df.reindex和之间有什么区别df.loc?

shx*_*hx2 7

两种方法都返回一个新的系列/数据帧,基本上做同样的事情.

看似冗余的原因是,虽然使用loc语法限制(你只能传递一个参数__getitem__),但是reindex一个方法,它支持采用各种可选参数.(docs)