Ersetzen Sie das Nicht -Null -Ergebnis durch 1 durch eine Lambda -Funktion PythonPython

Python-Programme
Anonymous
 Ersetzen Sie das Nicht -Null -Ergebnis durch 1 durch eine Lambda -Funktion Python

Post by Anonymous »

Ich berechnet ein binäres Ergebnis, ob Werte in Spalten mindestens eine Übereinstimmung haben oder nicht. Es kann die Möglichkeit haben, dass sie mehrere Übereinstimmungen haben. Ich möchte ein Ergebnis von 1 zurückgeben, wenn sie> 1 gemeinsamen Wert haben.

Code: Select all

df=pd.DataFrame({'col1':['a|b|c','a|b|c','a|b|c'],'col2':['b|d|e|a','d|e|f','a']})
df['new']=df[['col1','col2']].apply(lambda x: len(set(x['col1'].split('|')).intersection(set(x['col2'].split('|')))),axis=1)
< /code>
Ich möchte die Rückgabe eines beliebigen Wertes> 1 mit 1 ändern, dh < /p>
pd.DataFrame({'col1':['a|b|c','a|b|c','a|b|c'],'col2':['b|d|e|a','d|e|f','a'],'new':[1,0,1]})
< /code>
gelöst < /p>
df['new']=df[['col1','col2']].apply(lambda x: 1 if len(set(x['col1'].split('|')).intersection(set(x['col2'].split('|')))) >=1 else 0,axis=1)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post