在python中合并两个数据帧时使用通配符

时间:2016-11-23 15:31:11

标签: python string pandas dataframe merge

我有以下代码从剪贴板中获取所请求的部件列表,请求,并与召回部件的数据框合并, db ,从而产生数据框< strong> res 与请求的零件清单相关的召回。

我想更改此代码,以便能够将两个数据框与添加到请求的部件列表中的通配符合并(例如: 03.5 将合并到 03.501 db 中的 03.524 等。

我尝试使用request['PARTS'] = request['PARTS'].str.upper() + "*"添加星号,但它不起作用。 谢谢你的时间。

import pandas as pd

#load recalled parts database
db = pd.read_csv(r'resources/recall_part_db.csv', sep=';',converters={'PARTS':str})
db['PARTS'] = db['PARTS'].str.upper()

#import search request from clipboard (excel)
request = pd.read_clipboard(names=['PARTS'], sep='\r\n',converters={'PARTS':str})
request['PARTS'] = request['PARTS'].str.upper()

res = pd.merge(db,request, on=['PARTS','PARTS'])

1 个答案:

答案 0 :(得分:0)

request['PARTS'] = request['PARTS'].str.upper() + "*"应该可以正常工作。

尝试这种方式:

request['PARTS'] = request['PARTS'].apply(lambda s: s.upper() + "*")