Skip to main content
 首页 » 编程设计

python之检查值是否在 pandas.DataFrame 的列列表中

2025年05月04日16yyy_WW

我在 pandas.DataFrame 中处理一些看起来像这样(简化)的数据:

|-----------|-----------|-----------| 
| Feature 1 | Feature 2 | Feature 3 | 
|-----------|-----------|-----------| 
|     A     |     B     |     D     | 
|     A     |     A     |     B     | 
|     A     |     D     |     A     | 
|     A     |     B     |     A     | 
|     A     |     A     |     A     | 
|     A     |     A     |     D     | 
|-----------|-----------|-----------| 

我想创建一个新列来回答“值‘D’是否存在于任何列中?”这个问题

所以最终数据看起来像:

|-----------|-----------|-----------|-----------| 
| Feature 1 | Feature 2 | Feature 3 | Feature 4 | 
|-----------|-----------|-----------|-----------| 
|     A     |     B     |     D     |    True   | 
|     A     |     A     |     B     |   False   | 
|     A     |     D     |     A     |    True   | 
|     A     |     B     |     A     |   False   | 
|     A     |     A     |     A     |   False   | 
|     A     |     A     |     D     |    True   | 
|-----------|-----------|-----------|-----------| 

我试过使用 df.isin() 方法,但我仍然做不到。

你们知道怎么做吗?

请您参考如下方法:

试试这个方法:

df[df=='D'].any(1)