python矩阵一行
1. 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)
2. 用python的numpy创建一个矩阵
使用numpy创建矩阵有2种方法,一种是使用numpy库的matrix直接创建,另一种则是使用array来创建。首先加载numpy库,然后分别用上面说的2种方法来分别构建一个4×3的矩阵,如图
[1]在高等数学或者线性代数等已经学过了当后面的矩阵的行数等于前面矩阵的列数时,2个矩阵才可以相乘
[2]Hadamard指的是2个m×n的矩阵相乘,结果仍然是m×n的矩阵,结果为对应元素的乘积
[3]单位矩阵是特殊的对角矩阵,零(1)矩阵是指元素全部是0(1)的矩阵
[4]矩阵的第一行是从0开始编号的,python中的各种编号基本上都是从0开始的
注意事项
3. 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
4. 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)
5. 求问大神python中如何将一个矩阵的每一行按从大到小顺序排列,并且取排序后的矩阵的前10列组成新矩阵
newarray = [sorted(x, reverse=True)[:10] for x in oldarray]
6. python怎么把矩阵最后一行删掉
python中可以使用np.delete(arr,obj,axis)函数来删除矩阵的行或列。
arr:需要处理的矩阵
obj:在什么位置处理
axis:可选参数,axis=None,0,1
axis=None:arr会先按行展开,然后按照obj,删除第obj-1(从0开始)位置的数,返回一个行矩阵。
axis=0:arr按行删除;
axis=1:arr按列删除。
示例:
更多Python知识请关注Python视频教程栏目。
7. python numpy中的矩阵,对矩阵一行赋值时候,小数为啥都变成整数了
你在定义矩阵的时候应该指明元素是int还是浮点类型,不然默认整数类型,所以不管你赋给他的是小数,都会自动转成整数
8. python 将矩阵第一行的数据复制到下面几行
1234567891011121314151617def readFile(): outputData = [] f = open(r"you file path") for i in f.readlines(): outputData.append(i.strip('\n').split(' ')[::-1]) f.close() return outputData def writeFile(): allData = readFile() dataToStr = '\n'.join(['\n'.join([i for i in j]) for j in allData]) f = open(r"new file path","w") f.writelines(dataToStr) f.close() if __name__ == '__main__': writeFile()
其中open函数后面的两个路径需要你自己修正。
9. python怎么删除一个一维矩阵的第一行元素
L1=np.c_[[1],L] 是连接两个矩阵得到矩阵L1
而L2=np.delete(L1,0,1)是沿矩阵L1纵轴去掉矩阵中的第1列的元素得到矩阵L2,其中0表示第1列,1表示纵轴axis=1
例子,你看看吧
#!/usr/bin/python
import numpy as npL=np.matrix([1,2,3,4]);L1=np.c_[[1],L]print(L1)L2=np.delete(L1,0,1)print(L2)
10. python中怎样建立一个只知道行数不知道列数的矩阵
##用列表的嵌套就行了,下面是一个例子。
##注意:最左边每个=表示一个空格
##将n修改为你需要的行数
n=6
lsts=[[] for e in range(0,n)]
i=1
##为每一行赋值
##第i行有i列
for lst in lsts:
====for e in range(1,i+1):
========lst.append(e)
====i+=1
print(lsts)