Numpy 匹配表中多个列的组合
我正在读一个表格,在我们进一步处理它之前,它的所有值都必须经过验证。有效值存储在与主表匹配的另一个表中。验证标准是匹配以下几列:Numpy 匹配表中多个列的组合,numpy,Numpy,我正在读一个表格,在我们进一步处理它之前,它的所有值都必须经过验证。有效值存储在与主表匹配的另一个表中。验证标准是匹配以下几列: Table 1 (the main data we read in) Name --- Unit --- Age --- Address --- Nationality 上面显示了我们从表中读取的列名,另一个表包含上述列的有效值。当我们只在主表中寻找有效值时,我们必须考虑主数据表中的列的组合,例如名称-单元-AGE。如果列组合的特定行中的所有值与另一个表匹配,则我
Table 1 (the main data we read in)
Name --- Unit --- Age --- Address --- Nationality
上面显示了我们从表中读取的列名,另一个表包含上述列的有效值。当我们只在主表中寻找有效值时,我们必须考虑主数据表中的列的组合,例如名称-单元-AGE。如果列组合的特定行中的所有值与另一个表匹配,则我们保留该行,否则将删除该行
我如何用Numpy解决这个问题
谢谢您可以在行中循环。一个简单的方法是:
dummy_df = table_df ## make a copy of your table, since we are deleting rows we want to have the original df saved.
relevant_columns = ['age','name','sex',...] ## define relevant columns, in case either dataframe has columns you dont want to compare on
for indx in dummy_df.index :
## checks if any row is identical, if so, drops it.
if ((np.array(dummy_df.loc[indx][relevant_columns]) == main_df[relevant_columns].values).sum(1) == len(relevant_columns)).sum() > 0:
dummy_df = dummy_df .drop(indx)
ps:我假设数据是熊猫数据帧格式希望有帮助:) ps2:如果标题/列有不同的名称,它将不起作用