Pandas学习笔记,如何用列的值过滤行

通过tushare引入DataFrame

d = ts.get_hist_data('600848', start='2015-01-05', end='2015-01-09')
data = pd.DataFrame(d)
print(data)
print(data.ma5 > data.ma20)
             open   high  close    low    volume  price_change  p_change  \
date                                                                       
2015-01-09  11.68  11.71  11.23  11.19  44851.56         -0.44     -3.77   
2015-01-08  11.70  11.92  11.67  11.64  56845.71         -0.25     -2.10   
2015-01-07  11.58  11.99  11.92  11.48  86681.38          0.31      2.67   
2015-01-06  11.13  11.66  11.61  11.03  59199.93          0.35      3.11   
2015-01-05  11.16  11.39  11.26  10.89  46383.57          0.14      1.26   

               ma5    ma10    ma20     v_ma5    v_ma10     v_ma20  turnover  
date                                                                         
2015-01-09  11.538  11.363  11.682  58792.43  60665.93  107924.27      1.54  
2015-01-08  11.516  11.349  11.647  57268.99  61376.00  105823.50      1.95  
2015-01-07  11.366  11.251  11.543  55049.74  61628.07  103010.58      2.97  
2015-01-06  11.182  11.155  11.382  54854.38  63401.05   98686.98      2.03  
2015-01-05  11.156  11.212  11.370  58648.75  68429.87  100765.24      1.59  
date
2015-01-09    False
2015-01-08    False
2015-01-07    False
2015-01-06    False
2015-01-05    False
dtype: bool
data.ma5 > data.ma20返回的是一列布尔值,如果使用data[A],A是一个布尔值的Series,那么对应True的行会返回,False的行会被过滤,例如:
print(data[data.ma5 > 11.3])
             open   high  close    low    volume  price_change  p_change  \
date                                                                       
2015-01-09  11.68  11.71  11.23  11.19  44851.56         -0.44     -3.77   
2015-01-08  11.70  11.92  11.67  11.64  56845.71         -0.25     -2.10   
2015-01-07  11.58  11.99  11.92  11.48  86681.38          0.31      2.67   

               ma5    ma10    ma20     v_ma5    v_ma10     v_ma20  turnover  
date                                                                         
2015-01-09  11.538  11.363  11.682  58792.43  60665.93  107924.27      1.54  
2015-01-08  11.516  11.349  11.647  57268.99  61376.00  105823.50      1.95  
2015-01-07  11.366  11.251  11.543  55049.74  61628.07  103010.58      2.97  
可以看到ma5 < 11.3的行被过滤了。

转载于:https://www.cnblogs.com/imageSet/p/7482060.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值