簡體   English   中英

Pandas 檢查列中是否存在某行並返回 True 或 False

[英]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.

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