0

Good morning.

I have a dataframe as the following:

df = 
    time_A      time_B   
0    15          5        
1    20          3         

And I want to add reorder it, in a way it finally looks like:

df_new = 
    Data        Time  
0    time_A      15         
1    time_A      20         
2    time_B      5     
3    time_B      3

The index order really don't matter at all, just want to know how to "reorder" the dataframe. I've tried different versions of df.pivot, df.transpose, df.stack... but I can't do it work.

Thanks in advance.

Á. Garzón
  • 345
  • 2
  • 15

1 Answers1

0
data = {
    'time_A' : [15, 20],
    'time_B' : [5, 3]
}

df = pd.DataFrame(data)
print(df)
#    time_A  time_B
# 0      15       5
# 1      20       3

ndf = df.stack()\
        .reset_index()\
        .drop('level_0', axis=1)\
        .rename(columns={'level_1' : 'Data', 0 : 'Time'})
print(ndf)
#      Data  Time
# 0  time_A    15
# 1  time_B     5
# 2  time_A    20
# 3  time_B     3
IMCoins
  • 3,149
  • 1
  • 10
  • 25