[英]Pandas Check if a Row Exists Anywhere in a Column and Return True or False
我正在嘗試檢查另一列中的任何位置是否存在一行,並在名為“檢查”的列中返回 True/False。
具體來說,我試圖在名為“關鍵字”的列中查找值,並檢查它是否存在於名為 description 的列中的任何位置。
要檢查的每個關鍵字都是 2 個字以上,我希望按照確切的順序找到該字。
Keyword Description Check
spam spam spam spam foo bar True
spam foo True
spam bar False
spam spam foo True
spam bar False
我的代碼:
df['Check'] = df.apply(lambda row: row['Keyword'] in row['Description'], axis=1)
這會檢查關鍵字是否在匹配的行中,但我需要檢查它是否存在於整列中的任何位置。 謝謝!
您可以對值list
使用Series.isin
方法。 因此,您需要一個正確的Description
列值list
:
In [915]: vals = [x.split() for x in df.Description.values][0]
In [917]: df['Check'] = df.Keyword.isin(vals)
In [918]: df
Out[918]:
Keyword Description Check
0 spam eggs spam foo bar True
1 eggs True
2 house False
3 foo True
4 bar True
5 turtle False
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.