选择列值与另一列中的值列表匹配的行

2024-09-30 14:34:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我的第一个数据帧名为'permits\u 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\u df',列名为'list\u 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中的记录与permits_df中匹配输入FSA的记录合并。你知道吗

我的问题在于,我必须比较permit_df['FSA']中的输入FSA和hood_df['list_of_fsa']中FSA的集合。如果hood_df['list_of_fsa']只包含1个FSA,那么使用df.merge()来做一个inner join就很容易了。但是我不知道如何在M8ZM6S,M8X,M8Y,M8Z之间找到匹配,然后做df.merge()。我该怎么办?你知道吗

堆栈溢出有similar sounding questions,但它们没有帮助,因为我需要使用两个不同的数据帧,而不是从同一数据帧中选择记录。你知道吗


Tags: ofdfprivatecompanylistfsahoodtransportation