Изменить значения в массиве numpy строк - PullRequest
0 голосов
/ 20 марта 2020

У меня есть массив numpy строк чисел, которые я пытаюсь преобразовать в числа с плавающей точкой, но у некоторых чисел есть звезды вокруг них. Есть ли способ удалить это без изменения фактического числа или его позиции (индекса) в массиве numpy? Код ниже:

nums = np.array(['57', '98.8', '*32.56*', '4.36', '*654.56*', '89.21'])

Идеальный результат будет:

nums = np.array(['57', '98.8', '32.56', '4.36', '654.56', '89.21'])

После чего я смогу преобразовать его в массив с плавающей точкой вместо массива строк

Ответы [ 2 ]

1 голос
/ 20 марта 2020

Вы можете сделать это без AL oop, используя np.char

import numpy as np

nums = np.array(['57', '98.8', '*32.56*', '4.36', '*654.56*', '89.21'])
nums_float = np.char.strip(nums,'*').astype(float)
1 голос
/ 20 марта 2020

Вы можете использовать это

nums = np.array([item.strip("*") for item in nums])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...