【发布时间】:2023-01-13 19:31:50
【问题描述】:
我正在分析一个由 5 列组成的互联网通信数据集,下面是一个示例
| IPSrc | IPDst | PortSrc | PortDst | Length |
|---|---|---|---|---|
| IP1 | IP2 | Pr1 | Pr2 | 35 |
| IP3 | IP4 | Pr3 | Pr4 | 36 |
| IP2 | IP1 | Pr2 | Pr1 | 88 |
| IP4 | IP3 | Pr4 | Pr3 | 150 |
| IP5 | IP6 | Pr5 | Pr6 | 11 |
| IP1 | IP4 | Pr8 | Pr9 | 36 |
我想获得相同的数据集,但有一个新的列长度 2,其中长度 2 是符合这些条件的行的值:
IPSrc = IPDst
IPDst = IPSrc
PortSrc = PortDst
PortDst = PortSrc
所以在这个例子中,理想的结果是:
| IPSrc | IPDst | PortSrc | PortDst | Length | Length 2 |
|---|---|---|---|---|---|
| IP1 | IP2 | Pr1 | Pr2 | 35 | 88 |
| IP3 | IP4 | Pr3 | Pr4 | 36 | 150 |
| IP2 | IP1 | Pr2 | Pr1 | 88 | 35 |
| IP4 | IP3 | Pr4 | Pr3 | 150 | 36 |
| IP5 | IP6 | Pr5 | Pr6 | 11 | |
| IP1 | IP4 | Pr8 | Pr9 | 36 |
知道数据集包含 100 万行,如果给定的答案会考虑性能,我们将不胜感激。
提前致谢 :)
【问题讨论】:
标签: pandas numpy group-by dataset