I have a dataframe which has 3 columns.
| Code | Volume | Trade Value |
|---|---|---|
| Apple | 500 | 1000 |
| Amazon | 1000 | 500 |
| 250 | 750 | |
| Samsung | 100 | 1500 |
Firstly, I want to sort volume columns ascending: False that means largest to smallest. Afterwards, making new column which name is "Volume Order" and giving number as a sorting number. Secondly, I want to sort Trade Value ascending: False that means largest to smallest. Afterwards, making new column which name is "Trade Order" and giving number as a sorting number. But, when I sort Trade value, Sorted volume column order is changing according to trade volume order. Finally, I have 2 sorted columns and 2 ordered columns. Lastly, I want to sort and create a new and final column by taking the maximum of 2 separate columns sorted.(Volume Order- Trade Order).
Expected output(when volume and trade value sorting in order:
| Code | Volume Order | Trade Order |
|---|---|---|
| Samsung | 4 | 1 |
| Apple | 2 | 2 |
| 3 | 3 | |
| Amazon | 1 | 4 |
Final output:
| Code | Max Ordered Number | Final Sorted Number |
|---|---|---|
| Samsung | 4 | 1 |
| Amazon | 4 | 2 |
| 3 | 3 | |
| Apple | 2 | 4 |
Note: if they are the same max ordered number, the trade value will be the more important, which will be expressed by the finale of the larger one. Example; samsung 4-4. But samsung has biggest trade order. That's why it is the larger one as final sorted numbers.
When I try this code; I can't make it. Can you help this issue?
ordered = volume_df.sort_values(by=['Volume'], ascending=False,ignore_index=True)
ordered['Volume Order'] = ordered.index+1
ordered = trade_value_df.sort_values(by=['Trade Value'], ascending=False,ignore_index=True)
ordered['Trade Order'] = ordered.index+1
volume_dfandtrade_value_df:)pd.DataFrame({'Code' : ['Apple', 'Amazon', 'Facebook', 'Samsung'],'Volume' : [500, 1000, 250, 100],'Trade Value' : [1000, 500, 750, 1500]})