generate functionThu, 30 Mar 2023

Define "KPI": returning a dataframe "df" grouped by columns: "time" and "Volt" sumarizing the mean information of columns "NEVs" and "MWhT", concatenating the columns "time" and "volt" as in format "t%sV%s". Call "KPI" for "global_dataframe" as "gKPI". Define the dataframe "RdataFrame" with columns: - "absGap" - "dG1", "dG2", "dG3",etc. With "NVEI" columns. - "Id1","Id2","Id3", etc. With "NNewInd" columns. For the first 2 indexes of "RdataFrame", in the columns "dG1", "dG2", etc. Put the information of the columns: "time" and "Volt" of "gKPI" in Start a loop of 1000 "Sample" in "Samples", per each sample: - Get sub dataframe "SDFrame" componed by 10% of the indexes of "global_dataframe" choosen randomly. Store the list "Indexes" of indexes choosen transposed. - Call "KPI" for "SDFrame" as "sKPI". - Calculate absolute error, "absGap", and detailed error per "Volt" value, "detGap", between "sKPI" and "gKPI". - Store "absGap" and "detGap" in the dataframe "RdataFrame" in columns "aGap", "dG1", "dG2", "dG3",etc. - Store "Indexes" in the dataframe "RdataFrame" in the columns "Id1","Id2","Id3",etc.

def KPI(df): kpi = (df.groupby(['time', 'Volt']) .agg({'NEVs': np.mean, 'MWhT': np.mean}) .reset_index() .rename(columns={'time': 't', 'Volt': 'v', 'NEVs': 'NEVs', 'MWhT': 'MWh'})) kpi['t%sv%s' % (kpi['t'][0], kpi['v'][0])] = kpi.NEVs kpi['t%sv%s' % (kpi['t'][0], kpi['v'][0])] = kpi.MWh kpi = kpi.drop(['t', 'v', 'NEVs', 'MWh'], axis=1) return kpi gKPI = KPI(global_dataframe) RdataFrame = pd.DataFrame(columns=['absGap'] + ['dG%s' % (i + 1) for

Questions about programming?Chat with your personal AI assistant