Сортировка CSV со столбцом IP-адреса в пандахPython

Программы на Python
Anonymous
Сортировка CSV со столбцом IP-адреса в пандах

Сообщение Anonymous »


У меня есть CSV-файл со столбцом IP-адресов, MAC-адресов и некоторых других данных. Я хочу отсортировать все данные по IP-адресам в порядке возрастания
Ввод:

Код: Выделить всё

| IP Address   | MAC Address | ID    |
| ---          | ---         | ---   |
| 10.10.10.1   | {mac1}      | {id1} |
| 10.10.10.112 | {mac2}      | {id2} |
| 10.10.10.17  | {mac3}      | {id3} |
| 10.10.10.7   | {mac4}      | {id4} |
Какой я ожидаю результат:

Код: Выделить всё

| IP Address   | MAC Address | ID    |
| ---          | ---         | ---   |
| 10.10.10.1   | {mac1}      | {id1} |
| 10.10.10.7   | {mac4}      | {id4} |
| 10.10.10.17  | {mac3}      | {id3} |
| 10.10.10.112 | {mac2}      | {id2} |
Где IP-адреса находятся в правильном порядке по возрастанию с соответствующими MAC и идентификаторами
Я пробовал использовать pandas Dataframe.sort_values()
Я пробовал использовать pandas Dataframe.sort_values()
code>, который без ключа помещает IP-адреса в неправильный порядок возрастания, поскольку он рассматривает IP-адреса как целые числа, а не как IP-адреса. Я также пытался использовать sort_values() с параметром key=ipaddress.IPv4Address, но получаю ошибку KeyError

Код: Выделить всё

df_new = df.sort_values(df['IP_Address'], key=ipaddress.IPv4Address)
I also tried sorted() which puts the IP addresses in the correct order and into a list and then when I put that back into the data frame it doesn't sort the corresponding MAC and ID for each IP


Источник: https://stackoverflow.com/questions/758 ... -in-pandas

Вернуться в «Python»