作者gostjoke (鬼笑话)
看板Python
标题Re: [问题] 请问dataframe怎麽往前筛选
时间Wed Feb 8 20:21:59 2023
※ 引述《tuberosum (potato)》之铭言:
: 各位大神
: 请问一下
: df=
: date math
: 1. 10/20 80
: 2. 10/22 70
: 3. 10/24 87
: 4. 10/26 65
: 5. 10/30 90
: 假设是这样 最新的一次数学分数是90
: 我要怎麽往前查找 最近一次分数>85 的index
: 我只想到筛选出大於df[df[math]>85] 然後用iloc[-2]
: 感觉好像有点笨笨的
我有个比较简单理解但比较笨的作法
把math 这行col 转成list
math_list = df['math'].tolist()
count = -1
for i in math_list:
count += 1
if i >= 85:
break
这样count 就是你要的index了
如果有重复需要写成个def来用
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 76.133.222.134 (美国)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1675858923.A.01B.html
1F:推 celestialgod: 这个方法会超慢…. 02/08 20:48
loop比较慢 用filt去做配index的确较快 但我觉得这对原po会比较好理解
※ 编辑: gostjoke (76.133.222.134 美国), 02/08/2023 21:07:59
2F:→ lycantrope: 原po没有要理解,只是洗文而已 02/08 21:49
3F:→ cspy: 排序就可以了~ 02/25 01:17