Python-根据另一个数据集的列值过滤一个数据集

时间:2019-02-14 07:32:50

标签: python-3.x pandas numpy dictionary

我有两个数据集:

第一个数据集如下:

| Key 1 | Value 1 | Key 2 | Value 2 | Key 3 | Value 3|

| abc   |  True   | bcd   | False   | cde   | False  |
| bcd   |  False  | cde   | True    | def   | False  |
| def   |  False  | abc   | True    | None  | N/A    |

第二个数据如下:

| abc    | bcd     | cde   | def     | status    |

| False  |  False  | True  | False   |  Success  |
| True   |  False  | False | False   |  Failure  |
| False  |  True   | True  | True    |  Success  |
| False  |  False  | True  | False   |  Failure  |
| True   |  False  | False | False   |  Success  |
| False  |  True   | True  | True    |  Success  |
| False  |  False  | True  | True    |  Success  |
| True   |  False  | False | False   |  Failure  |
| True   |  True   | True  | False   |  Failure  |

现在,对于第一数据集中的每一行,我想提取键值对并将它们应用为第二数据集中的过滤器,即,将第二子集中的行作为子集。然后计算适用的行数,成功数,失败数。

因此第一个数据集将转换为:

| Key 1| Value 1| Key 2| Value 2| Key 3| Value 3| Row Count | Successes| Failures|

| abc  |  True  | bcd  | False  | cde  | False  | 3         |1         |2   |
| bcd  |  False | cde  | True   | def  | False  | 2         |1         |1   |
| def  |  False | abc  | True   | None | N/A    | 4         |1         |3   |

说明:

(第一组数据的第一行):abc-True; bcd-错误; cde-错误。将这些过滤器应用到第二个数据集中,我们将被排除在以下行之外:

| abc    | bcd     | cde   | def     | status    |

| True   |  False  | False | False   |  Failure  |
| True   |  False  | False | False   |  Success  |
| True   |  False  | False | False   |  Failure  |

行数:3 失败次数:2 成功:1

1 个答案:

答案 0 :(得分:2)

我相信您需要:

csv