我有一份数据里面有一些数据。
在开始时,列"Current“中的数据从接近(-5,0,+5)的小值更改为已知范围内的值(例如-360到-380之间)。这种情况一直持续到我不再吸引潮流。然后,这些值再次接近于0。
我基本上是试图扫描数据,并确定第一行和最后一行的值在-360和-380之间。然后,我想使用行索引并计算它们之间的时间间隔。
我的具体问题是找到正确的命令和语法来正确识别这两行。有线索吗?
下面是要说明的基本数据。基本上,我在寻找第3行和第5行的索引。一旦有了这些行,我就可以将其存储在一个变量中,然后计算出方程(5-3)。(对不起,我不知道如何格式化结果,但代码如下.)
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非常感谢你的帮助。
发布于 2018-07-31 16:53:43
你试过这个吗?
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]它主要做的是选择给定范围内的所有值,并得到最小索引和最大索引。注意,有噪音的数据点可能会引起问题。
https://stackoverflow.com/questions/51618025
复制相似问题