jerryli 2021-11-02 08:56 采纳率: 100%
浏览 64
已结题

dataframe 如何筛选相同两项的某一列中的值等于另一列中的值?

有下面这样一个表格:
symbol pre_close upper_limit
0 SHSE.600683 4.12 4.53
1 SHSE.600683 4.53 4.98
2 SZSE.002385 4.53 4.98
3 SZSE.002385 4.98 5.48
4 SZSE.002676 3.14 3.45
5 SZSE.002676 3.14 3.45
6 SZSE.002972 18.21 20.03
7 SZSE.002972 20.03 22.03

symbol每两个一组,要筛选出每一组内第二行的pre_close等于第一行的upper_limit的所有行,实际意义是,先获取到了每个股票昨天和前天的收盘价以及涨停价,现在要选出昨天涨停的所有股票,这个用python怎么写最高效简单呢?

  • 写回答

4条回答 默认 最新

  • 江天暮雪丨 2021-11-02 09:35
    关注

    尝试了一下,算不上高效,勉强实现筛选

    def handle(data: pd.DataFrame):
        index_list = data.index
        # 第二行的 pre_close
        pre_close = data.loc[index_list[1], 'pre_close']
        # 第一行的 upper_limit
        upper_limit = data.loc[index_list[0], 'upper_limit']
        if pre_close == upper_limit:
            return data
    df.groupby('symbol').apply(handle)
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 已采纳回答 11月2日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作