簡體   English   中英

如何在Python中將一列中的字符串匹配到另一列中的另一字符串?

[英]How to match a string from one column to another string in other column in Python?

我為用戶提供了一個密碼列:

 user_name       password   first_name  last_name  uses_name
 vance.jennings  vance      vance       jennings   true
 bino.lapsi      dflkjdk    bino        lapsi      false

我在這里手動填寫了uses_name,但是通常我需要檢查用戶的名字或姓氏==密碼。

請告知我該怎么做?

到目前為止,這是我嘗試過的:

users['uses_name'] = (users['password'].isin(users['first_name']) | 
                     users['password'].isin(users['last_name']))

我認為您需要通過|比較列和鏈條條件 對於OR

users['uses_name'] = (users['last_name'] == users['password'])|
                     (users['first_name'] == users['password'])

或兩列具有比較eq ,並至少獲得一個Trueany

users['uses_name'] = users[['first_name', 'last_name']].eq(users['password'], axis=0).any(axis=1)

print (users)
        user_name password first_name last_name  uses_name
0  vance.jennings    vance      vance  jennings       True
1      bino.lapsi  dflkjdk       bino     lapsi      False

使用pd.DataFrame.apply()另一個選項:

users.apply(lambda s: s['password'] == s['first_name'] or s['password'] == s['last_name'], axis=1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM