gpt4 book ai didi

python - 使用 pandas 查找时间序列数据中缺失的分钟数据

转载 作者:行者123 更新时间:2023-11-30 22:24:25 26 4
gpt4 key购买 nike

我有一个时间序列数据,其中有每分钟的数据,但是由于传感器的一些问题,有时无法获取数据并且没有记录该分钟的数据。我想知道这件事发生在哪一天、什么时间。我有 pandas 数据框中的数据。这是我要存储在数据框中的代码片段,我想显示未收到哪一分钟的数据。

l=['Year', 'Month', 'Day', 'Hour', 'Minute']
df = pd.DataFrame(columns=l)
k=0

if __name__ == '__main__':
client = MongoClient("localhost", 27017, maxPoolSize=50)
db=client.test
collection=db['data']
cursor = collection.find({"deviceId":3},{"timestamp":1,"cd":1}).sort("timestamp",-1).limit(1000)
for document in cursor:
for key,value in document.items()[1:-1]:
df.loc[k,'Year']=2017
df.loc[k,'Month']=value.month
df.loc[k,'Day']=value.day
df.loc[k,'Hour']=value.hour
df.loc[k,'Minute']=value.minute
k=k+1
minute_a = pd.Series(np.arange(0, 60))

我正在考虑使用 minute_a 来使用 isin 函数,但由于每个小时我都必须检查,我不知道该怎么做?

最佳答案

isin将是这样做的好方法。不过,最简单的方法是将传感器时间数据平铺到单个 DatetimeIndex 中,以便您可以将其与引用 DatetimeIndex 进行比较。

# creating reference DatetimeIndex idx_ref with a minute frequency
end=datetime.now().replace(second=0, microsecond=0)
dt = end - timedelta(days=1)
idx_ref = pd.DatetimeIndex(start=dt, end=end,freq='min')

# idx_dat represents your DatetimeIndex from the sensor
gaps = idx_ref[~idx_ref.isin(idx_dat)]

假设您当然只对时间间隙感兴趣。

关于python - 使用 pandas 查找时间序列数据中缺失的分钟数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47831863/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com