我有一个数据帧列表(大小可以全部不同),我想快速找到该列表中的所有唯一数据帧。
我本来想使用:(但是由于数据帧的大小不同,所以失败了
_,idx=np.unique(np.array([x.values for x in df_list]),axis=0, return_index=True)
desired_list=[df_list[x] for x in idx]
然后我将它们放在一起,但是当数据集变大时效率非常高:
desired_list=[[x.equals(y) for x in df_list] for y in df_list] #List of booleans - This is the ineffiency
str_list = [str(d) for d in desired_list] #Turn the elements into strings
unique_pos = np.unique(str_list, return_index=True)[1] #Get index positions of all unique strings
final_list = []
for u in unique_pos:
cen = df_list[u]
final_list.append(cen)
我还有另一种方法可以更有效地完成此任务吗?