#python #arrays #numpy #index-error #numpy-slicing
Вопрос:
Я использовал numpy, чтобы разделить строку на каждой ,
. На выходе отображаются разделенные слова. Когда я хочу повторить первый элемент, я получаю следующую ошибку:
IndexError: too many indices for array: array is 0-dimensional, but 1 were indexed.
Код
item = "3C2B,FF8BFF5F008C,64,2021-08-01T18:00:01Z,2a* "
item_value = np.char.split(item, sep = ',')
print(item_value)
> ['3C2B', 'FF8BFF5F008C', '64', '2021-08-01T18:00:01Z', '2a*']
print(type(item_value))
> <class 'numpy.ndarray'>
device_id = item_value[0]
Выход:
IndexError: too many indices for array: array is 0-dimensional, but 1 were indexed.
Ожидаемый результат: 3C2B
Комментарии:
1. Что есть
item
и что естьitem_value.shape
?2. используйте
alist=item.split(',')
собственный метод разделения строк.
Ответ №1:
Используйте np.str.split
вместо np.char.split
.
Следующий код работает нормально.
item = '3C2B,FF8BFF5F008C,64,2021-08-01T18:00:01Z,2a*'
item_value = np.str.split(item, sep = ',')
device_id = item_value[0]
print(device_id)
Выход:
3C2B