首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据另一列中的值范围确定行索引

根据另一列中的值范围确定行索引
EN

Stack Overflow用户
提问于 2018-07-31 16:26:37
回答 1查看 278关注 0票数 0

我有一份数据里面有一些数据。

  • 一个列"DateTime"有日期和时间(已经被格式化为使用pd.to_datetime(.)命令将日期和时间理解为日期和时间。
  • 另一列"Current"有几天内记录的值。

在开始时,列"Current“中的数据从接近(-5,0,+5)的小值更改为已知范围内的值(例如-360到-380之间)。这种情况一直持续到我不再吸引潮流。然后,这些值再次接近于0。

我基本上是试图扫描数据,并确定第一行和最后一行的值在-360和-380之间。然后,我想使用行索引并计算它们之间的时间间隔。

我的具体问题是找到正确的命令和语法来正确识别这两行。有线索吗?

下面是要说明的基本数据。基本上,我在寻找第3行和第5行的索引。一旦有了这些行,我就可以将其存储在一个变量中,然后计算出方程(5-3)。(对不起,我不知道如何格式化结果,但代码如下.)

代码语言:javascript
复制
df = pd.DataFrame([[1, 2], [2, 3], [3, 6],[4,370],[5,370],[6,370],[7,-5],[8,2]], columns=['A', 'B'])

Ind A B
0 1 2 
1 2 3 
2 3 6 
3 4 370 
4 5 370 
5 6 370 
6 7 -5 
7 8 2

非常感谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-31 16:53:43

你试过这个吗?

代码语言:javascript
复制
col = 'current'
minVal = -380
maxVal = -360
begin = df.loc[np.logical_and(df[col]<maxVal, df[col]>minVal)].index[0]
end = df.loc[np.logical_and(df[col]<maxVal, df[col]>minVal)].index[-1]

它主要做的是选择给定范围内的所有值,并得到最小索引和最大索引。注意,有噪音的数据点可能会引起问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51618025

复制
相关文章

相似问题

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