我有一个大df,其中索引是日期,还有一个布尔(真/假)系列,其中索引也是日期。它们不包含相同数量的行。我想按日期将我的df子集化,其中相应的序列值为True。我有两种方法可以实现这一目标,但我觉得有更好的方法。一种涉及循环,另一种基本上是这样:
df[df.index.isin(df_sub_look[df_sub_look == True].index)]
我觉得必须有其他方法,所以我很好奇是否有其他直接方法被我忽略了。
答案 0 :(得分:2)
IIUC,加入日期索引,然后进行过滤:
df = df_sub_look.to_frame(name='sub_look').join(df)
df[df.pop('sub_look')]