pythonasmatrix
1. python中array和matrix的区别
二者的区别主要在于在做乘法运算的时候,一个是矩阵乘,一个是数组乘,这里和MATLAb很相似。
调用的时候需要用numpy.array
Numpy matrices必须是2维的,但是numpy arrays (ndarrays) 可以是多维的(1D,2D,3D····ND). Matrix是Array的一个小的分支,包含于Array。所以matrix 拥有array的所有特性。
在numpy中matrix的主要优势是:相对简单的乘法运算符号。例如,a和b是两个matrices,那么a*b,就是积。
import numpy as np a=np.mat('4 3; 2 1') b=np.mat('1 2; 3 4')print(a)# [[4 3]# [2 1]]print(b)# [[1 2]# [3 4]]print(a*b)# [[13 20]# [ 5 8]]
matrix 和 array 都可以通过在have.Tto return the transpose, but matrix objects also have.Hfor the conjugate transpose, and.Ifor the inverse.
In contrast, numpy arrays consistently abide by the rule that operations are applied element-wise. Thus, if a and b are numpy arrays, then a*b is the array formed by multiplying the components element-wise:
c=np.array([[4, 3], [2, 1]]) d=np.array([[1, 2], [3, 4]])print(c*d)# [[4 6]# [6 4]]
To obtain the result of matrix multiplication, you use np.dot :
print(np.dot(c,d))# [[13 20]# [ 5 8]]
2. Python解决矩阵问题
下面是基于python3.4的数组矩阵输入方法:
1.import numpy as np
2.arr = [1,2,3,4,5,6,7,8,9]
3.matrix_a = np.array(arr)2.
4.手动定义一个空数组:arr =[],链表数组:a = [1,2,[1,2,3]]。
Python, 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNUGeneral Public License)协议[2]。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中[3]有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
7月20日,IEEE发布2017年编程语言排行榜:Python高居首位。
3. python pandas 导入txt数据如何加入标头
li = list(row.tolist() for index,row in df.iterrows())
虽然比df.as_matrix()的啰嗦一点,但这个返回是嵌套列表,as_matrix是向量组成的列表
4. 在Python中使用矩阵,需要调用什么库函数:
numpy库的mat函数
importnumpyasnp
matrix=np.mat([[1,2,3],[4,5,6]])
printmatrix
printtype(matrix)
结果为:
[[1 2 3]
[4 5 6]]
<class 'numpy.matrixlib.defmatrix.matrix'>
5. 在python中,怎么给矩阵删除一个元素
L1=np.c_[[1],L] 是连接两个矩阵得到矩阵L1
而L2=np.delete(L1,0,1)是沿矩阵L1纵轴去掉矩阵中的第1列的元素得到矩阵L2,其中0表示第1列,1表示纵轴axis=1
我给你一个Python语言的例子,你看看吧
#!/usr/bin/python
importnumpyasnp
L=np.matrix([1,2,3,4]);
L1=np.c_[[1],L]
print(L1)
L2=np.delete(L1,0,1)
print(L2)
6. python如何输入矩阵
使用numpy创建矩阵有2种方法,一种是使用numpy库的matrix直接创建,另一种则是使用array来创建。
首先导入numpy:
(1)import numpy
(2)from numpy import *
(3)import numpy as np
相关推荐:《Python基础教程》
然后分别用上面说的2种方法来分别构建一个4×3的矩阵,如图:
7. 如何用python画好confusion matrix
在做分类的时候,经常需要画混淆矩阵,下面我们使用python的matplotlib包,scikit-learning机器学习库也同样提供了例子:, 但是这样的图并不能满足我们的要求,
首先是刻度的显示是在方格的中间,这需要隐藏刻度,其次是如何把每个label显示在每个方块的中间, 其次是如何在每个方格中显示accuracy数值, 最后是如何在横坐标和纵坐标显示label的名字,在label name比较长的时候,如何处理显示问题。
直接贴上代码:
[python]view plain
'''''computeconfusionmatrix
labels.txt:containlabelname.
predict.txt:predict_labeltrue_label
'''
fromsklearn.metricsimportconfusion_matrix
importmatplotlib.pyplotasplt
importnumpyasnp
#loadlabels.
labels=[]
file=open('labels.txt','r')
lines=file.readlines()
forlineinlines:
labels.append(line.strip())
file.close()
y_true=[]
y_pred=[]
#loadtrueandpredictlabels.
file=open('predict.txt','r')
lines=file.readlines()
forlineinlines:
y_true.append(int(line.split("")[1].strip()))
y_pred.append(int(line.split("")[0].strip()))
file.close()
tick_marks=np.array(range(len(labels)))+0.5
defplot_confusion_matrix(cm,title='ConfusionMatrix',cmap=plt.cm.binary):
plt.imshow(cm,interpolation='nearest',cmap=cmap)
plt.title(title)
plt.colorbar()
xlocations=np.array(range(len(labels)))
plt.xticks(xlocations,labels,rotation=90)
plt.yticks(xlocations,labels)
plt.ylabel('Truelabel')
plt.xlabel('Predictedlabel')
cm=confusion_matrix(y_true,y_pred)
printcm
np.set_printoptions(precision=2)
cm_normalized=cm.astype('float')/cm.sum(axis=1)[:,np.newaxis]
printcm_normalized
plt.figure(figsize=(12,8),dpi=120)
#setthefontsizeoflabel.
#forlabelinplt.gca().xaxis.get_ticklabels():
#label.set_fontsize(8)
#textportion
ind_array=np.arange(len(labels))
x,y=np.meshgrid(ind_array,ind_array)
forx_val,y_valinzip(x.flatten(),y.flatten()):
c=cm_normalized[y_val][x_val]
if(c>0.01):
plt.text(x_val,y_val,"%0.2f"%(c,),color='red',fontsize=7,va='center',ha='center')
#offsetthetick
plt.gca().set_xticks(tick_marks,minor=True)
plt.gca().set_yticks(tick_marks,minor=True)
plt.gca().xaxis.set_ticks_position('none')
plt.gca().yaxis.set_ticks_position('none')
plt.grid(True,which='minor',linestyle='-')
plt.gcf().subplots_adjust(bottom=0.15)
plot_confusion_matrix(cm_normalized,title='Normalizedconfusionmatrix')
#showconfusionmatrix
plt.show()
linchunmian
2017-05-08 2
结果如下图所示:
阅读全文
版权声明:本文为博主原创文章,未经博主允许不得转载。
目前您尚未登录,请登录或注册后进行评论
8. python中怎么将一个数据集中的每条数据转换成相应的矩阵
python的一个很重要的包是numpy包,这个包可以很方便的做数据科学计算。numpy中有很多方法,array,matrix,对于数据集的每一条数据,可以通过matrix函数来将其转换为矩阵形式,并且还有reshape方法,可以调整矩阵的行和列。
9. python语言将一个以为矩阵解包成n*n的矩阵
在python中,如果if后面表达式的取值是 0,none,空列表,空元组,空字典,空集合等都认为是false
10. python中如何将Series里的datetime格式去掉
a.apply(lambda x: str(x)) 直接转换为字符串格式