【发布时间】:2021-03-08 23:25:16
【问题描述】:
Pandas loc 方法与行过滤器一起使用时会引发错误
test[test.loc[0:1,['holiday','weekday']].apply(lambda x:True,axis=1)]
IndexingError:作为索引器提供的不可对齐布尔系列(索引 布尔系列和索引对象的不匹配)。
而没有行过滤器的相同代码可以正常工作
test[test.loc[0:1,['holiday','weekday']].apply(lambda x:True,axis=1)]
复制步骤
test=pd.DataFrame({"holiday":[0,0,0],"weekday":[1,2,3],"workingday":[1,1,1]})
test[test.loc[:,['holiday','weekday']].apply(lambda x:True,axis=1)] ##works fine
test[test.loc[0:1,['holiday','weekday']].apply(lambda x:True,axis=1)] ##fails
我试图了解这两者之间的区别是什么导致一个失败而另一个成功
【问题讨论】: