两个熊猫数据框的条件合并

时间:2021-01-27 16:26:20

标签: python pandas dataframe merge conditional-statements

我有两个数据框,其中一个列填充了值,其中一些值是 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 的方法,但似乎也不起作用。

0 个答案:

没有答案