1
Inp:

data = {
  "Name_1"  : [2, 6, 3],
  "Name_2": [8, 20, 12],
  "Name_3": [7, 3, 1],
  
}

df = pd.DataFrame(data)
date = ['21/10/2022','22/10/2022','23/10/2022']
df = df.set_index([date])
df

Out:
            Name_1  Name_2  Name_3
21/10/2022  2       8       7
22/10/2022  6       20      3
23/10/2022  3       12      1

My actual data has over 1000 rows and 243 columns, How do I transform this df so the result looks like this?

enter image description here

blueorchid
  • 99
  • 6

1 Answers1

1

Try:

out = df.stack().reset_index(level=1)
out.columns = ["A", "B"]
print(out)

Prints:

                 A   B
21/10/2022  Name_1   2
21/10/2022  Name_2   8
21/10/2022  Name_3   7
22/10/2022  Name_1   6
22/10/2022  Name_2  20
22/10/2022  Name_3   3
23/10/2022  Name_1   3
23/10/2022  Name_2  12
23/10/2022  Name_3   1
Andrej Kesely
  • 168,389
  • 15
  • 48
  • 91