我有两个数据框,其中一个列填充了值,其中一些值是 product_ids,其他值是我必须保留的其他信息。我有另一个包含 product_id 和这些产品的附加信息的数据框。
现在我想合并 product_id 上的两个数据框,如果我没有产品 ID,我只想用 NaN 填充它。所以我基本上想用来自另一个数据帧的数据来丰富一个数据帧。我的产品 ID 是字符串,我无法将它们更改为整数,因为列中的其余值需要是字符串。
我尝试了几件事。我试图编写一个函数来检查该值是否为数字,如果是,将从另一个数据帧中获取信息。下面是代码和数据外观的粗略草图。
def get_additional_info(case_table, product_info):
for page in case_table['page_name']:
if re.match('\d{6,}', page):
return product_info[product_info['Key']==page]
page_name timestamp some_columm some_other_column
202020340
200304020
text
202503050
3045060
text2
key info_on_product
202020340
200304020
202503050
3045060
然而它只返回一个空的数据帧。当我使用特定的产品 ID(在本例中称为 page_name)对其进行测试时,我确实得到了结果,但它似乎在函数中不起作用。
我也尝试过类似的方法,但后来使用了应用方法。但是它不起作用,因为我不知道如何给它两个参数。我也尝试过使用 pandasql 的方法,但似乎也不起作用。