У меня есть панд DataFrame df_R который выглядит следующим образом:Избежания для петель при Подменит панд DataFrames
Change Date SubsetCondId
0 0.000230 2015-02-13 868
1 -0.000080 2015-02-16 868
2 0.000380 2015-02-17 868
3 -0.000430 2015-02-13 679
4 0.000000 2015-02-16 679
5 0.000000 2015-02-17 679
6 0.004075 2015-02-13 10
7 0.000000 2015-02-16 10
8 0.001598 2015-02-17 10
9 0.015038 2015-02-13 937
10 0.000000 2015-02-16 937
Для того, чтобы создать новый DataFrame R, который отображает Даты как индексы и SubsetCondId в виде столбцов я сделал следующее:
factorsId = np.sort(df_R['SubsetCondId'].unique())
dates = np.sort(df_R['Date'].unique())
R = pd.DataFrame(index=dates, columns=factorsId)
for fac_id in factorsId:
dates_id = df_R['Date'][df_R['SubsetCondId']==fac_id]
R_id = np.array(df_R['Change'][df_R['SubsetCondId']==fac_id])
R.loc[dates_id,fac_id] = R_id
R = R.fillna(value=0)
в наборе Дат a становится больше, процесс замедляется. Есть ли другой способ справиться с этой проблемой, возможно, с помощью векторизованного подхода?
df.set_index («Дата») будет отображать Date как индекс – Vaishali