Я работаю над данными об акциях со следующими столбцами, названием символа, датой и доходами. В настоящее время данные отсортированы по дате, поэтому для каждой даты имеется ~ 200 строк (представляющих 200 различных акций). Я хочу создать новый фрейм данных, в столбцах которого указаны доходность этих акций, а строки - даты. Поэтому для каждой даты в столбцах будут данные о доходах всех различных акций. Я пробовал использовать group by и использовать для l oop (это очень медленно). Также есть много дат, для которых символ может не иметь данных, поэтому я хочу заполнить 0 для таких возвратов для этих дат. Какой самый способ достичь этого с помощью pythoni c? Я пробовал следующее для l oop, temp - это имя исходного фрейма данных:
datamat=np.empty((len(datelist),len(symbolList)))
temp['returns']=temp['returns'].fillna(0)
for i in range(len(datelist)):
for j in range(len(symbolList)):
x=temp.loc[(temp['date']==datelist[i]) &\(temp['Symbol']==symbolList[j]),]['returns']
if len(x)>0:
datamat[i][j]=x
Изображение исходного фрейма данных