python怎么将数组转换为矩阵
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python怎么将数组转换为矩阵相关的知识,希望对你有一定的参考价值。
python将数组转换为矩阵,方法如下:
数组转换矩阵:
A = mat(s[])
Python的定义:
Python是一种面向对象、直译式计算机程序设计语言,Python语法简捷而清晰,具有丰富和强大的类库。
它常被为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写。比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。
参考技术A下面是基于python3.4的
这样子:
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怎么将数组转换为矩阵的主要内容,如果未能解决你的问题,请参考以下文章