matching rows between dataframes in pandas in python

前端 未结 2 2000
栀梦
栀梦 2020-12-06 23:36

I have two dataframes,

df1,

 Names
 one two three
 Sri is a good player
 Ravi is a mentor
 Kumar is a cricketer

df2,



        
2条回答
  •  伪装坚强ぢ
    2020-12-06 23:54

    import pandas as pd
    names =  [
        'one two three',
        'Sri is a good player',
        'Ravi is a mentor',
        'Kumar is a cricketer'
    ]
    values = [
        'sri',
        'NaN',
        'sri, is',
        'kumar,cricketer',
    ]
    
    names = pd.Series(names)
    values = pd.DataFrame(values, columns=['values'])
    
    def foo(words):
        names_copy = names.copy()
    
        for word in words.split(','):
            names_copy = names_copy[names_copy.str.contains(word, case=False)]
    
        return names_copy.values
    
     values['names'] = values['values'].map(foo)
     values
    
    
        values          names
    0   sri             [Sri is a good player]
    1   NaN             []
    2   sri, is         [Sri is a good player]
    3   kumar,cricketer [Kumar is a cricketer]
    

提交回复
热议问题