1
我有兩個數據框,我需要分隔行,其中來自pmdf的值匹配jcrdf.All_codes中的代碼之一。Python /熊貓:根據列間值的匹配合並來自2個數據幀的列,但不能合併
如果pmdf.code位於jcrdf.All_codes中,我需要一個來自jcrdf AND pmdf.count的所有值的數據框。
Dataframes:
pmdf = pd.DataFrame(
{
'code': ['0567-8315','0007-4977','0096-0225','1365-2133','8675-309J'],
'count':['6','7','10','2','1']
}
)
jcrdf = pd.DataFrame(
{
'jobtitle': ['manager','technician','noob','retiree'],
'location': ['loc1','loc3','loc4','loc2'],
'jcode' : ['4444-4444','3333-3333','2222-2222','1111-1111'],
'All_codes': ['0096-0225,0096-0225','1820-7448,0567-8315,0567-8315','0007-4977,0007-4977','0007-0963,0007-0963,0366-077X,1365-2133']
})
我有一個查找允許一個差異:
jcrdf_lookup = pd.DataFrame(jcrdf['All_codes'].str.split(',').tolist(),
index=jcrdf.jcode).stack(level=0).reset_index(level=0)
matches = jcrdf_lookup[jcrdf_lookup[0].isin(pmdf.code)]
jcrdfmatch = jcrdf[jcrdf.jcode.isin(matches.jcode)]
jcrdfnomatch = pmdf[~pmdf.code.isin(matches[0])]
但我無法弄清楚如何將pmdf.count。
我試着從匹配中做出唯一代碼的df,但不管那些值必須在jcfdf.All_codes中。
在此先感謝,像往常一樣,任何援助。
謝謝你這個。因此,在最終輸出中,「代碼」下的值是從pmdf到jcrdf.All_codes匹配的代碼嗎? – mattrweaver
@mattrweaver,是的那些是匹配的代碼 – Vaishali