Could you, please, help me with sorting the names of values?
I have the code which forms the Table 1:
df1 = pd.pivot(data=df_selected, index='source', columns='ds', values=['y','percent_diff'])
df1 = df1.swaplevel(0,1, axis=1).sort_index(axis=1, ascending=False)#.reset_index()
df1 = df1.sort_values([df1.columns[0]], ascending=False)
So, (2022-02-20, y), (2022-02-20, percent) are columns in this table in python and source is an index.
And I send the extracted data of my dataset, which was made by the code:
I want to swap y and percent_diff. Please, help me with that.
CodePudding user response:
Use DataFrame.reindex
:
mux = pd.MultiIndex.from_product([pd.date_range('2022-01-01', periods=3),
['y','rolling', 'percent_diff','abs_diff'],
])
df = pd.DataFrame(columns=mux, index=range(5))
df = df.reindex(['percent_diff','rolling', 'y','abs_diff'], axis=1, level=1)
print (df)
2022-01-01 2022-01-02 \
percent_diff rolling y abs_diff percent_diff rolling y abs_diff
0 NaN NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN NaN NaN NaN
4 NaN NaN NaN NaN NaN NaN NaN NaN
2022-01-03
percent_diff rolling y abs_diff
0 NaN NaN NaN NaN
1 NaN NaN NaN NaN
2 NaN NaN NaN NaN
3 NaN NaN NaN NaN
4 NaN NaN NaN NaN