Page 1 of 1

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

Posted: 11 Apr 2025, 13:12
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)