我正在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)

关于python - 检查值是否在pandas.DataFrame的列列表中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43070068/

10-15 19:07