我正在通过 VerisPy 处理来自 Veris 项目的数据,但在将其重新格式化以用于其他应用程序时遇到了一些麻烦。
VerisPy 输出一个数据帧,其中包含来自提交给 Veris 的 JSON 文件的解析事件信息。数据框中的每一行都对应一个事件,详细说明它是如何/何时发生的。问题是它最终有数千个带有布尔标志的列。
所以每个事件行可能有如下列:
| 事件编号 | 恶意软件 | 动作黑客 | 误用 | 演员.外部.竞争对手 | 演员.外部犯罪 | 演员.内部.员工 | 演员.内部.客户 | 目标 |
|---|---|---|---|---|---|---|---|---|
| 1 | 真的 | 错误的 | 错误的 | 错误的 | 错误的 | 真的 | 错误的 | 微软 |
| 2 | 错误的 | 真的 | 错误的 | 真的 | 错误的 | 错误的 | 错误的 | 美国银行 |
我想折叠/组合这些并将列值用作实际数据。在上面的例子中,我们可能会这样:
| 事件编号 | 行动 | 演员 | 目标 |
|---|---|---|---|
| 1 | 恶意软件 | 内部 - 员工 | 微软 |
| 2 | 黑客攻击 | 外部 - 竞争对手 | 美国银行 |
我是 Pandas 的新手,但从文档中尝试了相当多的东西,结果喜忧参半。Melt 看起来很有希望,但我不确定如何将列名放入实际的行级数据中。有人有指点吗?