在Python中查找遵循趋势的数据帧中的值

2024-05-16 09:06:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧,其中包含以下压缩器信息:

压缩机的数据帧:

enter image description here

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

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) 

Tags: 数据信息dataframedata时间代表压缩器d2
1条回答
网友
1楼 · 发布于 2024-05-16 09:06:37

如果我正确理解你的问题,这应该可以:

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

相关问题 更多 >