Как создать ndarray со значениями int с помощью функции empty ()? - PullRequest
0 голосов
/ 11 июня 2019

Проблема заключается в том, что всякий раз, когда я печатаю ndarray, он выдает значения в float. Я хочу вывод только в int.

Я пробовал y = int (y1) но он показывает TypeError: только массивы размера 1 могут быть преобразованы в скаляры Python.

var = (4, 5, 6)
length = len(var)
print(length)
from numpy import empty

y1 = empty([len(var)])
y = int(y1)
print(y)

i = 0
for x in var:
    print(x)
    print("i = %i" % i)
    y[i] = int(x)
    print(y[i])
    i = i + 1
print(var)
print(y)

Я хочу вывод только в типе int, а не в float. Я также пытался внутри цикла for изменить dtype при назначении значения каждый раз. Есть ли лучший способ сделать это?

Ответы [ 2 ]

1 голос
/ 11 июня 2019

Чтобы создать пустой массив с определенным типом, используйте:

import numpy as np
shape = (1,2,3)
arr = np.empty(shape=shape, dtype=np.int32)
1 голос
/ 11 июня 2019

Вы можете указать dtype следующим образом:

>>> import numpy as np
>>> np.empty((3,5), dtype=np.int)
array([[ 805306368, -244667706,  382337028,  979432584,  360625744],
       [ 357830816,  357820336,  979432584,  979432576,  360007872],
       [ 382203840,  382204224,  382476528,  379622304,  357830816]])
...