在Python中的Dataframe中查找遵循趋势的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Python中的Dataframe中查找遵循趋势的值相关的知识,希望对你有一定的参考价值。

我有一个数据框,其中包含压缩机的信息,如下所示:

压缩机的数据框:

enter image description here

我想知道每个压缩机的加载时间。可以通过在相应压缩器的ACTIVEPOWER列中的最新值0之后找到设定点(例如32000)的出现并计算它们之间的行数(因为每行代表一分钟)来计算。如何在python中的pandas中实现这个操作?

d1 = {'ACTIVEPOWER_1': [23000, 34000 , 45000, 0, 34000, 32000, 132000, 45000, 30000, 0, 32000, 132000]}
df1 = pd.DataFrame(data=d1)

如果输入是上面的数据帧(df1),那么输出应该类似于下面给出的df2

d2 = {'Loading Times': [ 3, 2]}
df2 = pd.DataFrame(data=d2) 
答案

如果我理解你的问题,这应该工作:

import pandas as pd

d1 = {'ACTIVEPOWER_1': [23000, 34000 , 45000, 0, 34000, 32000,
                        132000, 45000, 30000, 0, 32000, 132000 , 0]}

df1 = pd.DataFrame(data=d1)

start = df1.loc[df1['ACTIVEPOWER_1']==0].index
end = df1.loc[df1['ACTIVEPOWER_1']==32000].index

res = pd.DataFrame({'Loading Times': [j-i+1 for i, j in zip(start, end)]})

#    Loading Times
# 0              3
# 1              2

以上是关于在Python中的Dataframe中查找遵循趋势的值的主要内容,如果未能解决你的问题,请参考以下文章

Pandas - 在 DataFrame 中的任何位置查找值索引

python 在Pandas DataFrame中查找连续日期组

text [在DataFrame中查找范围] Dataframe中的范围。

在 PySpark 中,如何根据另一个 DataFrame 中的查找来填充新列?

从另一个 Dataframe 中的一个 Dataframe 中查找元素并返回其索引的快速方法

python对dataframe列里的元素进行修改?