【发布时间】:2020-08-31 06:04:13
【问题描述】:
title_query = """SELECT ean, productTitle FROM `xxlhoreca-bi.PriceSearch_BackUp.XXL_Price_All`"""
title_df = client.query(title_query).to_dataframe()
final_result['productTitle'] = final_result['ean'].map(title_df.set_index('ean')['productTitle'])
我有一个包含重复 EAN 的表(其他列略有不同),其中一些 productTitle 为空,我将 productTitle 用于那些没有标题但具有匹配 EAN 的表。
但是,现在我已经更新了数据并且我有多个 EAN + 商店。我想匹配 EAN+shop,然后添加缺少的标题。
类似:
ean | productTitle | shop
----------+--------------+-------
123 | Table | FR
123 | | FR
123 | Tisch | DE
123 | | DE
我希望输出是这样的:
ean | productTitle | shop
----------+--------------+-------
123 | Table | FR
123 | Table | FR
123 | Tisch | DE
123 | Table | DE
我试过这样:
title_query = """SELECT ean, shop, productTitle FROM `xxlhoreca-bi.PriceSearch_BackUp.XXL_Price_All`"""
title_df = client.query(title_query).to_dataframe()
final_result['productTitle'] = final_result['ean'].map(title_df.set_index('ean','shop')['productTitle'])
但出现错误:
pandas.core.indexes.base.InvalidIndexError: Reindexing only valid with uniquely valued Index objects
任何帮助将不胜感激
【问题讨论】:
标签: python sql pandas indexing mapping