Fix more pandas Index issues in make_summary.
This commit is contained in:
parent
dfc0242a2d
commit
a401d80300
@ -90,7 +90,12 @@ def calculate_energy(n,label,energy):
|
|||||||
return energy
|
return energy
|
||||||
|
|
||||||
def include_in_summary(summary, multiindexprefix, label, item):
|
def include_in_summary(summary, multiindexprefix, label, item):
|
||||||
summary = summary.reindex(summary.index | pd.MultiIndex.from_product([[p] for p in multiindexprefix] + [item.index]))
|
|
||||||
|
new_index = summary.index | pd.MultiIndex.from_product([[p] for p in multiindexprefix] + [item.index])
|
||||||
|
if isinstance(new_index, pd.Index):
|
||||||
|
new_index = pd.MultiIndex.from_tuples(new_index)
|
||||||
|
summary = summary.reindex(new_index)
|
||||||
|
|
||||||
summary.loc[idx[tuple(multiindexprefix + [list(item.index)])], label] = item.values
|
summary.loc[idx[tuple(multiindexprefix + [list(item.index)])], label] = item.values
|
||||||
return summary
|
return summary
|
||||||
|
|
||||||
@ -133,7 +138,11 @@ def calculate_supply(n,label,supply):
|
|||||||
|
|
||||||
s = c.pnl.p[items].max().multiply(c.df.loc[items,'sign']).groupby(c.df.loc[items,'carrier']).sum()
|
s = c.pnl.p[items].max().multiply(c.df.loc[items,'sign']).groupby(c.df.loc[items,'carrier']).sum()
|
||||||
|
|
||||||
supply = supply.reindex(supply.index|pd.MultiIndex.from_product([[i],[c.list_name],s.index]))
|
new_index = supply.index|pd.MultiIndex.from_product([[i],[c.list_name],s.index])
|
||||||
|
if isinstance(new_index, pd.Index):
|
||||||
|
new_index = pd.MultiIndex.from_tuples(new_index)
|
||||||
|
supply = supply.reindex(new_index)
|
||||||
|
|
||||||
supply.loc[idx[i,c.list_name,list(s.index)],label] = s.values
|
supply.loc[idx[i,c.list_name,list(s.index)],label] = s.values
|
||||||
|
|
||||||
|
|
||||||
@ -176,7 +185,11 @@ def calculate_supply_energy(n,label,supply_energy):
|
|||||||
|
|
||||||
s = c.pnl.p[items].sum().multiply(c.df.loc[items,'sign']).groupby(c.df.loc[items,'carrier']).sum()
|
s = c.pnl.p[items].sum().multiply(c.df.loc[items,'sign']).groupby(c.df.loc[items,'carrier']).sum()
|
||||||
|
|
||||||
supply_energy = supply_energy.reindex(supply_energy.index|pd.MultiIndex.from_product([[i],[c.list_name],s.index]))
|
new_index = supply_energy.index|pd.MultiIndex.from_product([[i],[c.list_name],s.index])
|
||||||
|
if isinstance(new_index, pd.Index):
|
||||||
|
new_index = pd.MultiIndex.from_tuples(new_index)
|
||||||
|
supply_energy = supply_energy.reindex(new_index)
|
||||||
|
|
||||||
supply_energy.loc[idx[i,c.list_name,list(s.index)],label] = s.values
|
supply_energy.loc[idx[i,c.list_name,list(s.index)],label] = s.values
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user