python怎么将数组转换为矩阵

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python怎么将数组转换为矩阵相关的知识,希望对你有一定的参考价值。

python将数组转换为矩阵,方法如下:

数组转换矩阵: 
A = mat(s[]) 

Python的定义:

Python是一种面向对象、直译式计算机程序设计语言,Python语法简捷而清晰,具有丰富和强大的类库。

它常被为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写。比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。

参考技术A

下面是基于python3.4的

这样子:

import numpy as np
arr = [1,2,3,4,5,6,7,8,9]
matrix_a = np.array(arr)
print(matrix_a)

本回答被提问者采纳
参考技术B array 是脚本中存储着从文件中解读数据的列表
b=pprint.pprint(array) # b是pprint调用的返回值;pprint并不将返回任何数据,所以b==None
参考技术C Copyright © 1999-2020, CSDN.NET, All Rights Reserved

python3
登录

Chenyu_cook
关注
Python3 列表,数组,矩阵的相互转换 原创
2018-05-03 17:14:34
8点赞

Chenyu_cook

码龄3年

关注
[html] view plaincopyprint?

[html] view plaincopyprint?

在使用列表、数组和矩阵的过程中,经常需要相互转换。特此总结相互间转换的过程及结果,供大家参考。

第三方包:numpy

import numpy as np
mylist = [[1, 2, 3], [4, 5, 6]] # 列表
print(type(mylist))
print(mylist, end='\n\n')

myarray = np.array(mylist) # 列表转数组
print(type(myarray))
print(myarray, end="\n\n")

mymatrix = np.mat(mylist) # 列表转矩阵
print(type(mymatrix))
print(mymatrix, end='\n\n')

MatToArray = np.array(mymatrix) # 矩阵转数组
print(type(MatToArray))
print(MatToArray, end='\n\n')

ArrayToMat = np.mat(myarray) # 数组转矩阵
print(type(ArrayToMat))
print(ArrayToMat, end='\n\n')

MatToList1 = mymatrix.tolist() # 矩阵转列表
print(type(MatToList1))
print(MatToList1)
MatToList2 = list(mymatrix) # 注意点1
print(type(MatToList2))
print(MatToList2, end='\n\n')

ArrayToList1 = myarray.tolist() # 矩阵转列表
print(type(ArrayToList1))
print(ArrayToList1)
ArrayToList2 = list(myarray) # 注意点2
print(type(ArrayToList2))
print(ArrayToList2)

函数运行结果显示如下。注意一点是,最后的矩阵和数组转换成列表形式,用list()是将矩阵和数组整体转换成列表。如果要将其转换成基本的列表形式,则需要使用<array>.tolist() 或者 <matrix>.tolist()来转换。

如何使用 PANDAS / Python 将矩阵转换为列数组

【中文标题】如何使用 PANDAS / Python 将矩阵转换为列数组【英文标题】:How to convert a matrix into column array with PANDAS / Python 【发布时间】:2017-05-19 08:40:56 【问题描述】:

我需要将矩阵(如下)转换为 3 列列表。

我目前有一个这样的 DataFrame:

     A   B   C  ...
a    1   3   4  ...
b    4   0   6  ...
c    9   8   0  ...

我需要得到这样的结果:

Source   Target    Weight
  a        A          1
  a        B          3
  a        C          4
  b        A          4
  b        C          6
  c        A          9
  c        B          8

我一直在尝试使用 pandas.pivot_table 函数,但无法获得所需的结果。

【问题讨论】:

【参考方案1】:

你可以使用DataFrame.stack()方法:

In [335]: df.stack().reset_index().rename(columns='level_0':'Source','level_1':'Target', 0:'Weight')
Out[335]:
  Source Target  Weight
0      a      A       1
1      a      B       3
2      a      C       4
3      b      A       4
4      b      B       0
5      b      C       6
6      c      A       9
7      c      B       8
8      c      C       0

【讨论】:

【参考方案2】:

我正在考虑使用pd.melt():

pd.melt(df.reset_index(), id_vars=['index'], value_vars=['A', 'B', 'C'], var_name='Target', value_name='Weight')

它不会为您提供您想要的确切信息,但最好知道:

      index Target  Weight
0     a      A     1.0
1     b      A     4.0
2     c      A     9.0
3     a      B     3.0
4     b      B     0.0
5     c      B     8.0
...

【讨论】:

以上是关于python怎么将数组转换为矩阵的主要内容,如果未能解决你的问题,请参考以下文章

数组/矩阵转换成Image类

python怎么实现矩阵的除法

在python中重塑图像矩阵

MATLAB将元胞数组中特定行列转换为矩阵

python如何挑选矩阵中的不相领的列组成新的矩阵

将简单数组转换为二维数组(矩阵)