Нарезка Numpy ndarray

#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