Как отобразить массив строк NumPy без кавычек и с запятой в качестве разделителя? - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь сгенерировать массив из файла с numpy.genfromtxt.

Файл выглядит так:

16.37.235.200|59009|514|16.37.235.153|
17.37.235.200|59009|514|18.37.235.153|

И я получаю массив вроде:

['16.37.235.200' '17.37.235.200']

Но я хочу, чтобы массив был таким:

[16.37.235.200,17.37.235.200]

1 Ответ

0 голосов
/ 05 октября 2018

Вот ваш исходный массив:

x = np.array(['16.37.235.200', '17.37.235.200'])

, который при печати отображается следующим образом:

print(x)
>>> ['16.37.235.200' '17.37.235.200']

Чтобы отобразить его с запятой в качестве разделителя и без кавычек вокруг строкмы можем использовать np.set_printoptions:

print(np.array2string(x, separator=',', formatter={'str_kind': lambda x: x}))
>>> [16.37.235.200,17.37.235.200]

Мне не нравится этот форматер lambda x: x, но я не смог придумать что-то лучшее для удаления кавычек.


Вы можете найти больше здесь: Как красиво распечатать numpy.array без научной записи и с заданной точностью?

...