- Pandas数据分析快速上手500招(微课视频版)
- 罗帅 罗斌编著
- 272字
- 2023-07-17 18:40:49
105 使用loc根据数值范围筛选数据
此案例主要通过在loc中使用lambda表达式设置筛选条件,实现在DataFrame中使用复杂的数值范围筛选数据。当在Jupyter Notebook中运行此案例代码之后,将在DataFrame中筛选最新价在目标价位区间的股票,效果分别如图105-1和图105-2所示。
图105-1
图105-2
主要代码如下。
在上面这段代码中,df.assign(left=df.目标价位区间.str.findall(r'\d+').str[0]).assign(right=df.目标价位区间.str.findall(r'\d+').str[1]).astype({'left':np.int64,'right':np.int64}).loc[lambda x:(x.最新价>x.left) & (x.最新价<x.right)].drop(['left','right'],axis=1)表示在df中筛选最新价在目标价位区间的股票数据。整个过程如下:首先将目标价位区间的文本拆分为left列和right列,然后将left列和right列的数据类型转换为int64,接着使用lambda表达式将最新价列与left列和right列进行比较筛选,最后删除临时添加的left列和right列。
此案例的主要源文件是MyCode\H551\H551.ipynb。