一维数组[1,2]的 shape是(2,):一个一维数组,数组中有两个元素。
二维数组[[1,2]]的 shape是(1,2): 一个二维数组,每行有两个元素。
二维数组转换一维数组
# 方式一
import operator
from functools import reduce
a = [[1,2,3], [4,6], [7,8,9,8]]
print(reduce(operator.add, a))
# [1, 2, 3, 4, 6, 7, 8, 9, 8]
# 方式二 使用flatten()
import numpy
a = numpy.array([[2,3], [2,3]])
print(a)
print(a.flatten().shape)
# 方式三 使用reshape
import numpy
matrix1 = numpy.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
print(matrix1)
print(matrix1.reshape(-1))
[ 5 10 15 20 25 30 35 40 45]
# 方式四
import numpy
matrix1 = numpy.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
print(matrix1)
print(matrix1.reshape(-1))
print(matrix1.reshape(3,3,-1).flatten())
# [ 5 10 15 20 25 30 35 40 45]
一维数组转换二维
import numpy as np
# 利用 np.reshape
np.reshape(a, (-1, 1)).shape
import numpy as np
x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]])
#输出数组的行和列数
print x.shape #结果: (4, 3)
#只输出行数
print x.shape[0] #结果: 4
#只输出列数
print x.shape[1] #结果: 3
List转numpy.array:
temp = np.array(list)
numpy.array转List:
arr = temp.tolist()