Source code for sensortoolkit.deploy._deployment_period

# -*- coding: utf-8 -*-
"""
This module contains a method for detailing the deployment period (start,
end, and duration) for sensor testing.

================================================================================

@Author:
  | Samuel Frederick, NSSC Contractor (ORAU)
  | U.S. EPA / ORD / CEMM / AMCD / SFSB

Created:
  Fri Aug 28 08:45:53 2020
Last Updated:
  Tue Jul 13 09:30:40 2021
"""
import pandas as pd


[docs]def deployment_period(df_list, sensor_name, sensor_serials): """Returns a dataframe detailing the beginning, end, and duration of each sensor deployment. Args: df_list (list): List of sensor dataframes recorded at original sampling frequency. sensor_name (str): The make and model of the sensor being evaluated. sensor_serials (dict): A dictionary of sensor serial identifiers for each unit in a testing group. Returns: deployment_df (pandas DataFrame): A data frame containing the start time (‘Begin’), end time (‘End’), and total duration of evaluation period for each sensor in a deployment group. """ deployment_df = pd.DataFrame(columns=['Sensor Name', 'Sensor_Number', 'Sensor_Serial', 'Begin', 'End', 'Duration']) sensor_serial_keys = list(sensor_serials.keys()) for i, df in enumerate(df_list): df = df.dropna(how='all', axis=0)#.tz_localize(None) begin_time = df.index[0] end_time = df.index[-1] length = end_time - begin_time sensor_num = sensor_serial_keys[i] deployment_df.loc[i] = [sensor_name, sensor_num, list(sensor_serials.values())[i], begin_time, end_time, length] return deployment_df