详细版本见个人博客:Python中list转换array的一个问题
我在数据分析过程中需要将list转换为array,但是转换的过程出了一点问题,下面是记录。
一、list转换为array的方法
下面的a是一个list类型,如果要进行numpy的一些数值运算,我们就需要将它转换为array类型。
import
numpy
as
np
a
=
[
[
1
,
2
,
3
]
,
[
4
,
5
,
6
]
]
转换如下:
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类型。
举个例子:
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,)
就是相当于俩行,没有第二列。
详细版本见个人博客:Python中list转换array的一个问题