Не уверен, что представляет целое число для типов данных NumPy

#python #arrays #numpy #types

#python #массивы #numpy #типы

Вопрос:

Я играл с типами данных массива NumPy, и когда я ввел этот код:

 import numpy as np
arr=np.array(("Bernie","Bill","Bob"))
print(arr[0].dtype)
  

оно выдало:

 <U6
  

Я понимаю, что «U» обозначает строку в Юникоде, но меня смущает, что представляет «6».

Комментарии:

1. Пожалуйста, прочитайте документы. Они довольно четко разбираются в подобных вещах.

2. Строки Python могут отличаться по длине, но в массиве numpy все строки хранятся с одинаковым количеством символов (с некоторым заполнением null по мере необходимости). Здесь np.array определено, что требуется 6 символов, самое длинное слово. Не волнуйтесь, если увидите большие длины. Иногда слишком короткое может привести к нежелательному усечению.

Ответ №1:

Вы установили массив (arr) в качестве нулевого индекса. Нулевой индекс означает первую строку или целое число в списке / кортеже и т.д. (В вашем случае строку в списке), Следовательно, выводится ‘Bernie’. ‘6’ после U (которое представляет строку) — это количество символов в выводимой строке.

Ответ №2:

6 представляет количество символов в строке. В этом случае ‘Bernie’ состоит из 6 символов.

Вот еще один пример:

 print(arr[1].dtype)
>>> <U4
  

В этом случае arr[1] проверяется строка с индексом # 1, которая является ‘Bill’.

Вам может оказаться полезной следующая ссылка: Документы Numpy