#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