繁体   English   中英

过滤两个 dataframe 并将不匹配的值显示为 pandas 表和值

[英]Filter two dataframe and shows the unmatched value as pandas table with values

我有两个名为“顶级产品”的 pandas 表和另一个表“经销商”。 我想将经销商表与顶级产品表进行比较,并打印出 Output 表,如下表所示: Output 表 Output 包含中经销商在“Avg_amt 列”中没有的所有产品。 我已经尝试过这段代码,但它不起作用。

cond = df_Dealer['product'].isin(Top_product['product']) df_dealer.drop(Top_product[cond].index, inplace = False)

邮政编码 产品 平均量
200 一个 3200
200 3070
200 C 190
201 一个 490
201 D 210
201 4000

表:顶级产品

邮政编码 经销商 产品
200 X 一个
201 ķ

表:经销商

邮政编码 经销商 产品 平均量
200 X 3070
200 X C 190
201 ķ 一个 490
201 ķ D 210
201 ķ 4000

表:Output

您可以从结果中合并“postocde”和 select 上的两个表,结果中“产品”列中值不同的所有行。 然后我们把output中不需要显示的那一列去掉:

result = Top_product.merge(df_Dealer, how='left', 
                           on='postcode', suffixes('','_y'))

result.loc[result['product'] != result['product_y'], :]\
      .drop('product_y', axis=1).reset_index(drop=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM