I have the following DataFrame.
print df
    Period   Hour
0       22   6665
1       22   8290
2       22   8589
3       22   9808
4       22  10010
5       22   9152
6       22   7701
7       23   6658
8       23  10039
9       23   8396
10      23   9130
11      23   9029
12      23   7985
13      23   6784
Originally what I wanted to achieve via some one line code:
   22      23  
  6665    6658
  8290    10039
  8589    8396
  9808    9130
  10010   9029
  9152    7985
  7701    6784
Tried pivoting but got NaN due to indexes being different.
print(df.pivot(columns='Period'))
           Hour         
Period       22       23
0        6665.0      NaN
1        8290.0      NaN
2        8589.0      NaN
3        9808.0      NaN
4       10010.0      NaN
5        9152.0      NaN
6        7701.0      NaN
7           NaN   6658.0
8           NaN  10039.0
9           NaN   8396.0
10          NaN   9130.0
11          NaN   9029.0
12          NaN   7985.0
13          NaN   6784.0
Output achieved via the following apparently unnecessarily long route:
a = df[df['Period'] == 22]['Hour'].values
b = df[df['Period'] == 23]['Hour'].values
print(pd.DataFrame({22:a, 23:b}))
      22     23
0   6665   6658
1   8290  10039
2   8589   8396
3   9808   9130
4  10010   9029
5   9152   7985
6   7701   6784
There must be a shorter way of doing this via Pivot/Pivot_Table or in some other shorter code. Please suggest.
 
    