import pandas as pd
data1 = pd.read_csv('file1.csv',sep=';') # change the separator to the separator used
data2 = pd.read_csv('file2.csv',sep=';')
df_output = pd.DataFrame()
variable_want_to_compare = 'xmin'
for i in range(len(data1)):
a = data1[variable_want_to_compare].iloc[i]
for j in range(len(data2)):
b = data2[variable_want_to_compare].iloc[j]
if abs(a-b)<5: # tolerance of value differences
df_output = df_output.append(data2.iloc[j],ignore_index=True)
在这个箱子上使用循环。我只需要比较数据的1列(例如compare min_x columns),因为我看到每列的数据看起来都很相似(我的意思是每列与其他表相比具有相似的差值)。因此,您可以执行如下循环:
我不会比较每一列,因为数据排序会很复杂。如果要对每列进行排序,只需添加更多循环即可。但我认为您不需要它,因为每个列的值的差异看起来相似(根据您的示例)
为了便于编码和计算速度,您可以采取的方法是:首先,将每列中的值转换为列表(您可以使用pandas库)。例如:
现在您有了要比较的列,并将其转换为列表。现在,根据您想要执行的操作,有很多方法可以从目标列表中删除重复项,例如列表理解。如果希望
x_min_2
只包含x_min_1
中已有的值,可以执行列表理解:很明显,您可以对想要与任何数据集中的任何其他列进行比较的任何列执行此过程。最后,您将使用新的已编辑列表替换目标数据集列:
相关问题 更多 >
编程相关推荐