将数组中的值转换为INT

时间:2018-08-09 11:42:56

标签: python arrays numpy

我有数组

Y =[[ 5.  0.  4.  1.  9.  2.  1.  3.  1.  4.  3.  5.  3.  6.  1.  7.  2.  8.
   6.  9.  4.  0.  9.  1.  1.  2.  4.  3.  2.  7.  3.  8.  6.  9.  0.  5.
   6.  0.  7.  6.  1.  8.  7.  9.  3.  9.  8.  5.  9.  3.  3.  0.  7.  4.
   9.  8.  0.  9.  4.  1.  4.  4.  6.  0.  4.  5.  6.  1.  0.  0.  1.  7.
   1.  6.  3.  0.  2.  1.  1.  7.  9.  0.  2.  6.  7.  8.  3.  9.  0.  4.
   6.  7.  4.  6.  8.  0.  7.  8.  3.  1.  1.  2.  3.]]

然后我使用以下命令:Y.astype(int)

在astype命令之后打印Y时,我仍然得到结果5. 0. 4.依此类推。但是我想要的是5 0 4等...

我怎么了?

2 个答案:

答案 0 :(得分:1)

numpy.astype返回数组的副本。它不会就地操纵数组。因此,您必须将值分配给变量:

Y = Y.astype(int)

答案 1 :(得分:-2)

好吧,如果我们这里有numpy之类的东西:

Y = np.array([5., 0., 4., 1., 9.])

我们可以像这样将数组的每个元素转换为int:

map(int, Y)

要获得此结果:

[5, 0, 4, 1, 9]