Pandas数据分析快速上手500招(微课视频版)
上QQ阅读APP看书,第一时间看更新

109 使用loc筛选IndexSlice结果

此案例主要演示了使用loc输出IndexSlice筛选的复杂条件数据。当在Jupyter Notebook中运行此案例代码之后,将在DataFrame中筛选最高价大于或等于42.88的所有股票,且仅输出这些股票的股票名称、最高价、昨收价这3列数据,效果分别如图109-1和图109-2所示。

图109-1

图109-2

主要代码如下。

在上面这段代码中,df.loc[pd.IndexSlice[df.最高价>=42.88, ['股票名称','最高价','昨收价']]]表示在df中筛选最高价大于或等于42.88的所有股票且仅输出这些股票的股票名称、最新价、昨收价这3列数据。实际测试表明,在此案例中df.loc[df.最高价>=42.88, ['股票名称','最高价','昨收价']]也能实现完全相同的功能。IndexSlice常用在多层索引中,以及需要指定应用范围(subset参数)的场景,特别是在链式方法中。

此案例的主要源文件是MyCode\H039\H039.ipynb。