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:如果标题/列有不同的名称,它将不起作用