我有一个包含IP信息的熊猫数据帧。目标是创建一个新的列“CIDR”,其中包含“StartAddress”和“EndAddress”的转换。有一个python库用于转换,“netaddr”。我对while循环有问题,它长时间挂起。我以前遇到过这个问题,它通常是一个简单的修复方法,但是当我改变while循环时,我就搞不懂了。任何帮助都将不胜感激。在
“CIDR”列为空的数据:
Name StartAddress EndAddress City CountryCode ASN CIDR
0 LACNIC-ERX-128-201-0-0 128.201.0.0 128.201.255.255 Montevideo \N AS8048
1 LN-ERX-129-90-0-0 129.90.0.0 129.90.255.255 Montevideo \N AS8048
2 LACNIC-ERX-131-0-0-0 131.0.0.0 131.0.255.255 Montevideo \N AS8048
3 LACNIC-ERX-131-100-0-0 131.100.0.0 131.100.255.255 Montevideo \N AS8048
4 LACNIC-ERX-131-108-0-0 131.108.0.0 131.108.255.255 Montevideo \N AS8048
5 LACNIC-ERX-131-161-0-0 131.161.0.0 131.161.255.255 Montevideo \N AS8048
6 LACNIC-ERX-131-178-0-0 131.178.0.0 131.178.255.255 Montevideo \N AS8048
7 LACNIC-ERX-131-196-0-0 131.196.0.0 131.196.255.255 Montevideo \N AS8048
8 LACNIC-ERX-131-221-0-0 131.221.0.0 131.221.255.255 Montevideo \N AS8048
9 LACNIC-ERX-131-255-0-0 131.255.0.0 131.255.255.255 Montevideo \N AS8048
代码:
^{pr2}$
也可以使用for循环:
但张怡伦提出的解决方案更为优雅。在
我运行了你的函数和while循环,它正在工作,但有点慢。可能你的问题是跑的时间太长了。在
我建议您编写一个函数并使用
df.apply()
:这给了我一个结果,while循环在示例数据上花费了更长的时间。在
相关问题 更多 >
编程相关推荐