我有一个1,174,697行的时间点数据集和一个包含876,923行的数据帧。数据框由以下列组成:时间,目标,类型。
我想迭代数据框,以便在每一行中检查数据集中时间点的“时间”,找到数据集中与“时间”相等的所有时间点,然后在那些选择“目标”之间。例如,如果有5个项目与“时间”具有相同的值且目标等于3,则从开始选择第4个项目,因为目标就像索引一样。
我会把我的代码放在这里。问题是需要永远迭代两个循环。我想知道如何改善表现。
timepoint_ds = file['/timepoints']
df = track_df.loc[:, ['time', 'target', 'type']]
label_imgindex_df = pd.DataFrame()
for index, row in df.iterrows():
print("---Row--------------:",index)
hdf_index = row["target"]
label = row["type"]
time= row["time"]
image_index_list, label_list, time_target =[], [], []
for i, value in enumerate(timepoint_ds):
if value == time:
image_index_list.append(i)
label_list.append(label)
label_index_df = pd.DataFrame({'index':image_index_list[hdf_index] , 'label': label} , index= [i])
with open('/home/usr/label_imgindex_df.pkl', 'wb') as f:
pk.dump(label_imgindex_df, f)