我正在尝试生成选择矩阵。更准确地说,我有一个DF数据,其中包含每日数据基础上过去30年中DJI的成分(11231,30)。我提取了一个名为“唯一”的列表,其中包含了随着时间的推移已成为道琼斯指数一部分的所有成分(55)。对于唯一项的每个项目,想要指示在给定日期是否唯一性成员已经成为DJI的一部分:如果成员在t时是DJI的一部分,则为1,否则为0。
我知道它应该如何工作,但是当我使用循环时,我的解决方案非常非常缓慢而且效率低下(请参见下面的代码)。
您知道执行我的任务的更有效方法吗?
df包含有关成分(字符串)的信息。形状:(11231,30)
mat = pd.DataFrame([],columns=unique,index=df.index)
mat[:] = 0
for i in df.index:
row_list = df.loc[i,:].to_list()
for j in mat.columns:
mat.loc[i,j] = 1 if j in row_list else 0
最好, 托马斯