# -*- coding: utf-8 -*-
import numpy as np
import pandas as pd
# =============================================================================
# Internals
# =============================================================================
def _eda_intervalrelated_formatinput(interval, output={}):
"""Format input for dictionary."""
# Sanitize input
colnames = interval.columns.values
if len([i for i in colnames if "SCR_Peaks" in i]) == 0:
raise ValueError(
"NeuroKit error: eda_intervalrelated(): Wrong"
"input, we couldn't extract SCR peaks."
"Please make sure your DataFrame"
"contains an `SCR_Peaks` column."
)
return output # pylint: disable=W0101
if len([i for i in colnames if "SCR_Amplitude" in i]) == 0:
raise ValueError(
"NeuroKit error: eda_intervalrelated(): Wrong"
"input we couldn't extract SCR peak amplitudes."
"Please make sure your DataFrame"
"contains an `SCR_Amplitude` column."
)
return output # pylint: disable=W0101
peaks = interval["SCR_Peaks"].values
amplitude = interval["SCR_Amplitude"].values
output["SCR_Peaks_N"] = np.sum(peaks)
output["SCR_Peaks_Amplitude_Mean"] = np.nansum(amplitude) / np.sum(peaks)
return output