from fooof import FOOOFGroup
import pandas as pd
from fooof.sim.gen import gen_freqs, gen_group_power_spectra
n_spectra = 2
freq_range = [3, 40]
ap_params = [[0.5, 1], [1, 1.5]]
pe_params = [[10, 0.4, 1], [10, 0.2, 1, 22, 0.1, 3]]
nlv = 0.02
# Simulate a group of power spectra
freqs, powers, sim_params = gen_group_power_spectra(n_spectra, freq_range, ap_params,
pe_params, nlv, return_params=True)
fg = FOOOFGroup(peak_width_limits=[1, 8],min_peak_height=0.05, max_n_peaks=6)
fg.fit(freqs, powers, freq_range=[3, 40],n_jobs=-1, progress='tqdm')
peaks = fg.get_params('peak_params') # prepare peaks dataframe
peaks_df = pd.DataFrame(peaks)
peaks_df.columns = ['CF', 'PW', 'BW']
Code that doesn't work.
ValueError: Length mismatch: Expected axis has 4 elements, new values have 3 elements
peaks = fg.get_params('peak_params') # prepare peaks dataframe
peaks_df = pd.DataFrame(peaks)
peaks_df.columns = ['CF', 'PW', 'BW', 'index']
peaks_df['index'] = peaks_df['index'].astype(int)
It was probably reworked in fooof 1.0 since my earlier code using the previous version doesn't have that problem (the 1st version worked). And why the index column is not an int?
According to the Sphinx documentation on the fooof page (here and here) the code below should work
Code that doesn't work.
Documentation doesn't mention the additional column used as an index.
I was able to run it by changing it after reading this comment in code documentation
It was probably reworked in fooof 1.0 since my earlier code using the previous version doesn't have that problem (the 1st version worked). And why the index column is not an
int?