在python中更改数组的数据类型

Mic*_* Ji 2 python numpy

我通过生成一组随机数并将它们转换为int类型来创建数组.但是,我不认为下面的方式是有效的.有没有最好的方法来更改数组中的数据类型?

# standard normal distributed random numbers
c=random.randn(5,5)
c

array([[-0.37644781, -0.81347483, -0.36895952, -2.68702544, -0.96780752],
   [ 0.05293328,  1.65260753,  0.55586611, -0.5786392 ,  0.50865003],
   [ 1.25508358,  0.51783276,  2.36435212, -0.23484705, -1.20999296],
   [ 2.07552172,  0.65506648,  0.10231436, -0.26046045,  0.40148111],
   [ 0.24864496, -1.8852587 , -2.51091886,  1.01106003,  1.53118353]])

d=array([[-0.37644781, -0.81347483, -0.36895952, -2.68702544, -0.96780752],
       [ 0.05293328,  1.65260753,  0.55586611, -0.5786392 ,  0.50865003],
       [ 1.25508358,  0.51783276,  2.36435212, -0.23484705, -1.20999296],
       [ 2.07552172,  0.65506648,  0.10231436, -0.26046045,  0.40148111],
       [ 0.24864496, -1.8852587 , -2.51091886,  1.01106003,  1.53118353]],dtype=int)

d
array([[ 0,  0,  0, -2,  0],
       [ 0,  1,  0,  0,  0],
       [ 1,  0,  2,  0, -1],
       [ 2,  0,  0,  0,  0],
       [ 0, -1, -2,  1,  1]])
Run Code Online (Sandbox Code Playgroud)

plo*_*ser 8

要么找到一种方法来获取正确类型的输出,要么使用astype,请参阅文档,以便更改数组的类型

在您的情况下,以下示例为您提供了一个类型数组 np.int

c=random.randn(5,5).astype(np.int)
Run Code Online (Sandbox Code Playgroud)