首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >熊猫:选择所选范围中的第一行和最后一行形成表达式的连续行。

熊猫:选择所选范围中的第一行和最后一行形成表达式的连续行。
EN

Stack Overflow用户
提问于 2021-07-18 13:55:36
回答 1查看 352关注 0票数 2

我的数据看起来是这样的:

代码语言:javascript
运行
复制
    Type  Pressure  Height  Temp  Dew_pt  WindDir  WindSpd
0      5     10002     158  22.8    20.2       33        2
1      4     10000     159  22.8    20.2       33        2
2      5      9947     209  22.1    20.0       37        2
3      5      9851     295  21.2    19.8       39        3
4      5      9711     419  21.0    18.6       42        2
5      5      9530     581  21.1    18.4      318        2
6      5      9314     776  20.8    17.6      281        7
7      4      9250     836  20.9    20.0      277        8
8      5      9079     999  21.0    20.5      266       12
9      5      8823    1248  20.1    20.0      253       17
10     5      8539    1531  18.1    16.0      247       21

我想选择第一个连续行的范围,这样

  • 范围内每一行的压力至少比索引0
  • 的压力小200,范围内第一行的压力与最后一行的压力之间的差至少为200
  • ,对于范围中的每一行,温度减去Dew_pt小于1.5。

此查询将返回

代码语言:javascript
运行
复制
7      4      9250     836  20.9    20.0      277        8
8      5      9079     999  21.0    20.5      266       12
9      5      8823    1248  20.1    20.0      253       17

第10行将不包括在内,因为它不满足第三个条件。

我知道我可以用迭代来完成这个任务,但是我想知道是否有可能以一种更快的方式来完成这个任务。我一直在考虑类似于this solution的东西,但我不知道如何为第二个条件评估范围内的第一行和最后一行。问题是压力读数没有固定的间隔,所以可能有很多行长。有人能建议如何进行这个查询吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-18 15:38:20

查证

代码语言:javascript
运行
复制
cond1 = df.Pressure.sub(df.Pressure.iloc[0])<=-200
cond2 = (df.Temp-df.Dew_pt)<1.5
s = (~(cond1 & cond2)).cumsum()
out = df.groupby(s).Pressure.agg(np.ptp)
out = df[s.isin(out[out>200].index)].iloc[1:,]
Out[362]: 
   Type  Pressure  Height  Temp  Dew_pt  WindDir  WindSpd
7     4      9250     836  20.9    20.0      277        8
8     5      9079     999  21.0    20.5      266       12
9     5      8823    1248  20.1    20.0      253       17
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68429792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档