我有一个名为“ permits_df”的第一个数据框,其列名为“ FSA”。
> permits_df.head()
FSA Licence No. Category Operating Name
0 M9N B02-4741962 PRIVATE TRANSPORTATION COMPANY TAXIFY
1 M3J B02-4728645 PRIVATE TRANSPORTATION COMPANY INSTARYDE
2 M6K B02-4653451 PRIVATE TRANSPORTATION COMPANY UBER CANADA
3 M2J B02-4691773 PRIVATE TRANSPORTATION COMPANY FACEDRIVE
4 M8Z B02-4714142 PRIVATE TRANSPORTATION COMPANY RIDEIN
我有第二个数据框,名为“ hood_df”,其列名为“ list_of_fsa”
CTUID CTNAME CMAPUID PRUID HOODNUM HOODNAME FCOUNT list_of_fsa
0 5350218.0 218.0 35535 35 16 Stonegate-Queensway 4 M6S,M8X,M8Y,M8Z
1 5350217.0 217.0 35535 35 16 Stonegate-Queensway 4 M6S,M8X,M8Y,M8Z
2 5350216.0 216.0 35535 35 16 Stonegate-Queensway 4 M6S,M8X,M8Y,M8Z
3 5350215.0 215.0 35535 35 16 Stonegate-Queensway 4 M6S,M8X,M8Y,M8Z
4 5350219.0 219.0 35535 35 16 Stonegate-Queensway 4 M6S,M8X,M8Y,M8Z
type(hood_df['list_of_fsa'][0])
> str
对于permits_df['FSA']
中的每个FSA,我需要将其与hood_df['list_of_fsa']
中的FSA所有行的值进行比较。如果FSA中发生匹配,我需要将hood_df
中的记录与input_FSA匹配的permits_df
中的记录合并。
对我来说,问题在于我必须在permit_df['FSA']
中的input_FSA与hood_df['list_of_fsa']
中FSA的 COLLECTION 之间进行比较。如果inner join
内仅包含1个FSA,那么使用df.merge()
进行hood_df['list_of_fsa']
将会很容易。但是我不确定如何找到M8Z
和M6S,M8X,M8Y,M8Z
之间的匹配项,然后执行df.merge()
。我该怎么办?
堆栈溢出上有similar sounding questions,但它们无济于事,因为我需要使用2个不同的数据框,而不是从同一数据框中选择记录。