Python中list转换array的一个问题

我在数据分析过程中需要将list转换为array,但是转换的过程出了一点问题,下面是记录。

一、list转换为array的方法

下面的a是一个list类型,如果要进行numpy的一些数值运算,我们就需要将它转换为array类型。

1
2
3
import numpy as np

a = [[1,2,3],[4,5,6]]

转换如下:

1
2
3
4
5
import numpy as np

a = [[1,2,3],[4,5,6]]
a_array = np.array(a)
print(a_array)

转换得到的a_array则是array类型。一个二维三列的数组。

二、一个问题

在list转换为array的过程中,当list的维度不一样的时候,array并不能将其解释为数组形式,而是解释为一个object类型。

举个例子:

1
2
3
4
5
import numpy as np

a = [[1,2,3],[4,5,6,7]]
a_array = np.array(a)
print(a_array.shape)

这个时候的a_array.shape并不是(2L,3L),而是(2L,),并没有第二维了。因为你维度二的个数是不一样的。这个时候就会将[1,2,3]解释为一个object,将[4,5,6,7]解释为一个object,上面的(2L,)就是相当于俩行,没有第二列。

赞赏一杯咖啡
0%