I have the following pandas.DataFrame with shape (1464, 2):
df = pd.DataFrame()
for name in list('ABCD'):
    temp_df = pd.DataFrame(np.random.randint(0,100,size=(len(date_rng), 1)), columns=['value'], index=date_rng)
    temp_df['name'] = name
    df = df.append(temp_df)
The index column has each data duplicated 4 times: one for each string ('ABCD') in the name column.
The dataframe head and tail look like so:
Head
value   name
2018-01-01  47  A
2018-01-02  22  A
2018-01-03  13  A
2018-01-04  66  A
2018-01-05  19  A 
Tail
    value   name
2018-12-28  32  D
2018-12-29  1   D
2018-12-30  5   D
2018-12-31  50  D
2019-01-01  75  D
I would like to convert this (1464, 2) dataframe to shape (366, 4), such that each of the 4 columns are the 4 unique values in df.name.unique() (i..e A, B, C, D). The values for each column are the respective integers in the df.value column.
The final DataFrame should look something like this:
            A   B   C   D
2018-12-28  32  22  21  4
2018-12-29  1   16  2   12
2018-12-30  5   1   65  26
2018-12-31  50  92  21  75
2019-01-01  75  55  33  34
I am sure there must be a nice reindex function or something of this sort to perform the task efficiently, as opposed to looping and recreating the dataframe.
 
     
    