I have a table like this
device_type | version | pool | testMean | testP50 | testP90 | testP99 | testStd | WidgetMean | WidgetP50 | WidgetP90 | WidgetP99 | WidgetStd |
---|---|---|---|---|---|---|---|---|---|---|---|---|
PNB0Q7 | 8108162 | 123 | 124 | 136 | 140.8 | 141.88 | 21.35 | 2.2 | 0 | 6.4 | 9.64 | 3.92 |
I want it to be transformed like this:
device_type | version | pool | Name | Mean | P50 | P90 | P99 | Std |
---|---|---|---|---|---|---|---|---|
PNB0Q7 | 8108162 | 123 | test | 123 | 136 | 140.8 | 142.88 | 21.35 |
PNB0Q7 | 8108162 | 123 | Widget | 2.2 | 0 | 6.4 | 9.64 | 3.92 |
I tried using melt but getting:
df.melt(id_vars=["device_type", "version", "pool"], var_name="Name", value_name="Value")
device_type | version | pool | Name | Value |
---|---|---|---|---|
PNB0Q7 | 8108162 | test | testMean | 124.00 |
PNB0Q7 | 8108162 | test | testP50 | 136.00 |
PNB0Q7 | 8108162 | test | testP90 | 140.80 |
PNB0Q7 | 8108162 | test | testP99 | 141.88 |
PNB0Q7 | 8108162 | test | testStd | 21.35 |
Any idea on how to reach to expected solution