I have this dataframe:
import pandas as pd
import numpy as np
import datetime
def creatingDataFrame():
    dateList=[]
    dateList.append(datetime.date(2002,1,1))
    dateList.append(datetime.date(2002,2,1))
    dateList.append(datetime.date(2002,1,1))
    dateList.append(datetime.date(2002,1,1))
    dateList.append(datetime.date(2002,2,1))
    raw_data = {'Date': dateList,            
                'Company': ['A', 'B', 'B', 'C' , 'C'],                
                'var1': [10, 20, 30, 40 , 50]}
    df = pd.DataFrame(raw_data, columns = ['Date','Company', 'var1'])
    df.loc[1, 'var1'] = np.nan
    return df
if __name__=="__main__":
    df=creatingDataFrame()
    print(df)
         Date Company  var1
0  2002-01-01       A  10.0
1  2002-02-01       B   NaN
2  2002-01-01       B  30.0
3  2002-01-01       C  40.0
4  2002-02-01       C  50.0        
I would like to transform this data in the following dataframe:
        Date      A   B   C
0  2002-01-01     10  30 40
1  2002-02-01     NaN NaN 50
The only way that I see how to do that is by filtering by each company and merging each result, but there must be an easy way to do that (?).
 
    