【发布时间】:2019-11-21 17:36:08
【问题描述】:
我正在使用 Pandas 对数据框进行排序。 少数列是需要排序的 IP 地址。
有没有办法通过 Pandas 轻松按 IP 地址排序?是否可以创建一个可以与 Pandas 一起使用的自定义函数来对 IP 地址进行排序?
我能够对 IP 地址列表进行排序,但是我很难弄清楚如何使用 Pandas 创建自定义排序功能。有没有办法从 socket 模块中合并 inet_aton ?
我能够在 Pandas 之外的列表中完成这项任务:
list_of_ips = ['192.168.204.111', '10.10.10.10', '172.16.32.6', '1.1.1.1', '8.8.8.100']
sorted(list_of_ips, key=lambda ip: struct.unpack("!L", inet_aton(ip))[0])
['1.1.1.1', '8.8.8.100', '10.10.10.10', '172.16.32.6', '192.168.204.111']
我希望使用 Pandas 对数据框中的一列 IP 地址进行排序。
【问题讨论】:
-
您可以将值为
inet_aton的列添加到数据框,然后您可以使用熊猫对其进行排序。除了inet_aton,你也可以输入ipaddress
标签: python pandas ip-address