‘壹’ python表示矩阵的方法分析
Python表示矩阵的方法分析
本文实例讲述了Python表示矩阵的方法。分享给大家供大家参考,具体如下:
在c语言中,表示个“整型3行4列”的矩阵,可以这样声明:int a[3][4];在python中一不能声明变量int,二不能列出维数。可以利用列表中夹带列表形式表示。例如:
表示矩阵 ,可以这样:
count = 1
a = []
for i in range(0, 3):
tmp = []
for j in range(0, 3):
tmp.append(count)
count += 1
a.append(tmp)
print a
结果:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
但是注意一点:初始化(赋值全部为0时),下面是错误的!!
tmp = []
for j in range(0, 3):
tmp.append(0)
a = []
for i in range(0, 3):
a.append(tmp)
print a
结果:
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
原因:这样的列表tmp为同一个,改变任意行,其他行都会给随着改变,千万注意!!,下面正确:
a = []
for i in range(0, 3):
tmp = []
for j in range(0, 3):
tmp.append(0)
a.append(tmp)
print a
‘贰’ python numpy 求矩阵有多少列
想知道矩阵A的行数和列数用np.size()函数
np.size(A,0)为此告矩阵A的行数
np.size(A,1)为矩阵A的列森哪明数
(x,y)=np.shape(A)分别求矩阵缓郑的行和列
‘叁’ python中numpy矩阵重排列是按行还是按列
Numpy可以使用reshape()函数进行矩阵重排列,默认按行排列(C语言风格),通过修改order参数可以改为按列排列(Fortran风格)。参考例子:
In[1]:importnumpyasnp
In[2]:a=np.array([[1,2,3],[4,5,6]])
In[3]:printa
[[123]
[456]]
In[4]:b=a.reshape((3,2))#默认按行排列
In[5]:printb
[[12]
[34]
[56]]
In[6]:c=a.reshape((3,2),order='F')#改为Fortran风格的按列排列
In[7]:printc
[[15]
[43]
[26]]
‘肆’ python中如何在矩阵中添加一列或是一行
例如文件t.data数据格式如下 1,2,3 4,5,6 7,8,9 //读入文件 file=open("t.data","r") //初始化矩阵 matrix=[] //读入数据并加到矩阵中 for line in file: line.strip() matrix.append(line.split(',')) //打印 print(matrix)
‘伍’ Python中怎样使用shape计算矩阵的行和列
你得先安装numpy库,矩阵(ndarray)的shape属性可以获取矩阵的形状(例如二维数组的行列),获取的结果是一个元组,因此相关代码如下:
importnumpyasnp
x=np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]])
#输出数组的行和列数
printx.shape#(4,3)
#只输出行数
printx.shape[0]#4
#只输出列数
printx.shape[1]#3