前几天换了个数据集,一跑,居然出现了bug。bug的问题主要是因为数据内容中的ts长度与eid对不上,然鹅我有需要mask,就导致匹配不上。
一开始在模型里进行了过滤,但是对比的时候得保证数据集是一样的,这给过滤了,不就和另一个不一样了吗。
今天仔细对bug部分进行了剖析,居然发现数据集有好些边同一时刻多次出现,这就是出现bug的原因。
然后对数据进行了简单的处理,去重
# 读取CSV文件
df = pd.read_csv('your_data.csv')
# 删除同一时刻出现的多条重复边,只保留最先出现的一条
df.drop_duplicates(subset=['src', 'dst', 'time'], keep='first', inplace=True)
# 保存处理后的数据到新的CSV文件
df.to_csv('filtered_data.csv', index=False)
这边用了pandas的drop_duplicates函数是Pandas库中用于删除数据框(DataFrame)中重复行的函数。它的主要作用是根据指定的列或条件,删除数据框中的重复行,只保留其中的一行或一组。
drop_duplicates函数的一些重要参数包括:
subset:指定用于判断重复的列或列的组合。默认为所有列。你可以传递一个列名或列名的列表,以指定用于判断重复的列。
keep:指定保留哪个重复行。可选值有:
‘first’(默认):保留第一个出现的重复行,删除后续的重复行。
‘last’:保留最后一个出现的重复行,删除前面的重复行。
False:删除所有重复行,不保留任何。
完美解决