把矩阵导入python
‘壹’ python把csv文件导入成想要的矩阵格式
很多时候,我们将数据存在txt或者csv格式的文件里,最后再用python读取出来,存到数组或者列表里,再做相应计算。本文首先介绍写入txt的方法,再根据不同的需求(存为数组还是list),介绍从txt读取浮点数的方法。
一、写入浮点数到txt文件:
假设每次有两个浮点数需要写入txt文件,这里提供用with关键字打开文件的方法,使用with打开文件是一个很好的习惯,因为with结束,它就会自动close file,不用手动再去flie.close()。
[python] view plain
with open('file_path/filename.txt','a') as file:
write_str = '%f %f\n'%(float_data1,float_data2)
file.write(write_str)
二、从txt文件提取浮点数到numpy数组或list列表
首先假设你有一个odom.txt 的文件,里面每一行的数据个数都相同,如截图所示:
1.如果你是想把这些数据读取出来,存为numpy数组,那么一句代码可以搞定:
[python] view plain
a = numpy.loadtxt('odom.txt')
存为numpy数组以后,a的尺寸可以用a.shape进行查看,这里应为:(14,2)也就是14行2列。如果你觉得这个形状不是你期待的,你可以用:
[python] view plain
b = numpy.reshape(a,(你想要的形状))
如
b = numpy.reshape(a,(-1,1,2))
那么b就是一个三维数组了(14,1,2)
2.如果只是想读出来,存到一个list里,那就用下面的常用python格式了:
[python] view plain
with open('odom.txt', 'r') as f:
data = f.readlines() #txt中所有字符串读入data
for line in data:
odom = line.split() #将单个数据分隔开存好
numbers_float = map(float, odom) #转化为浮点数
print numbers_float
‘贰’ 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中如何调用txt文档的矩阵
如果仅仅是上面的东东的话,可以这样:
line=f.readline() #读取每一行矩阵的数据
line=line.strip() #去除每一行左右两端的空白
List=line.split(' ') #以空白分割,得到类似[‘9’,‘-1’,‘-1’,‘-3’,‘0’,’-3‘]的列表
string=[]
string.append(List)# 每读取一行即加入到string这个列表中
然后就可以用string[i][j]读取了
如果觉得可以但是具体不懂的话 可以在问我。。偶也是新手 你也可以去网上看看貌似以前看到过用python可以操作矩阵的方法
‘肆’ 用python怎么读取mat文件的三维矩阵
‘伍’ 一个Excel表格(53×56)全是数字构成,如何将其作为一个矩阵导入到Python中
还是先把Excel中的输入读取到程序,读到程序中了,你想干嘛就干嘛
前言
在很多应用场景中,程序都需要读取excel的配置。
比如,在游戏中,数值策划用excel 建好了数值表,我们要导入到游戏中。
概述
这里我使用了 pyexcel-xls 这个东西。我个人觉得这个东西导出的数据结构,结构可读性很强,数据结构如下:
整个excel文件,转化为一个字典结构:每个key就是一个子表(Sheet)
每个子表(Sheet),转化为一个二维数组:分别为行和列。
注意,本文对应的版本更新为 pyexcel-xls 0.2.3。
安装
pypi
■ 方法一:
可以直接用pip安装
pip install pyexcel-xls
■ 方法二:
下载安装包手动安装。
先安装两个依赖包:
xlrd 和 pyexcel-io
然后再安装 pyexcel-xls
使用
一、读excel数据 (xls, xlsx)
1,先建立一个目标excel表,这里为了做演示,简单建立一个 read_test.xlsx 文件:
里面的数据(3行,4列):
2,写python 脚本,读这个文件:
[python] view plain
#! /usr/bin/env python
#coding=utf-8
# pyexcel_xls 以 OrderedDict 结构处理数据
from collections import OrderedDict
from pyexcel_xls import get_data
from pyexcel_xls import save_data
def read_xls_file():
xls_data = get_data(r"D:\read_test.xlsx")
print "Get data type:", type(xls_data)
for sheet_n in xls_data.keys():
print sheet_n, ":", xls_data[sheet_n]
if __name__ == '__main__':
read_xls_file()
看一下输出的打印信息:
可以看到:
整个excel文件,转化为一个OrderedDict (有序字典)结构:每个key就是一个子表(Sheet)。
每个子表(Sheet),转化为一个列表结构:很像二维数组,第一层列表为行(Row),行的下标为列(Column),对应的值为单元格的值。编码为 unicode
简单,易用,读出数据后,非常适合做二次处理!
■ 注意,excel文件名(就是那个xls或者xlsx文件),尽量不要用中文,如果您要使用中文,请转化为unicode编码,如:
xls_data = get_data(unicode(r"D:\试试.xlsx", "utf-8"))
二、写excel数据 (xls)
根据上文,写也比较简单,不做过多解释。
[python] view plain
#! /usr/bin/env python
#coding=utf-8
# pyexcel_xls 以 OrderedDict 结构处理数据
from collections import OrderedDict
from pyexcel_xls import get_data
from pyexcel_xls import save_data
def read_xls_file():
xls_data = get_data(unicode(r"D:\试试.xlsx", "utf-8"))
print "Get data type:", type(xls_data)
for sheet_n in xls_data.keys():
print sheet_n, ":", xls_data[sheet_n]
return xls_data
# 写Excel数据, xls格式
def save_xls_file():
data = OrderedDict()
# sheet表的数据
sheet_1 = []
row_1_data = [u"ID", u"昵称", u"等级"] # 每一行的数据
row_2_data = [4, 5, 6]
# 逐条添加数据
sheet_1.append(row_1_data)
sheet_1.append(row_2_data)
# 添加sheet表
data.update({u"这是XX表": sheet_1})
# 保存成xls文件
save_data("D:\write_test.xls", data)
if __name__ == '__main__':
save_xls_file()
看一下写出的xls文件:
好,数据读写完成!
‘陆’ python 怎么实现矩阵运算
1.numpy的导入和使用
data1=mat(zeros((
)))
#创建一个3*3的零矩阵,矩阵这里zeros函数的参数是一个tuple类型(3,3)
data2=mat(ones((
)))
#创建一个2*4的1矩阵,默认是浮点型的数据,如果需要时int类型,可以使用dtype=int
data3=mat(random.rand(
))
#这里的random模块使用的是numpy中的random模块,random.rand(2,2)创建的是一个二维数组,需要将其转换成#matrix
data4=mat(random.randint(
10
,size=(
)))
#生成一个3*3的0-10之间的随机整数矩阵,如果需要指定下界则可以多加一个参数
data5=mat(random.randint(
,size=(
))
#产生一个2-8之间的随机整数矩阵
data6=mat(eye(
,dtype=
int
))
#产生一个2*2的对角矩阵
a1=[
]; a2=mat(diag(a1))
#生成一个对角线为1、2、3的对角矩阵
‘柒’ python怎么实现矩阵的除法
1、首先打开pycharm软件,新建一个python文件并导入numpy库。
‘捌’ 如何用python将一个series 数据导入矩阵
如图的txt文件,如何转换成矩阵?行代表user_id,列代表brand_id,,typ...
答:import pandas as pd,numpy as npa = pd.read_csv("aaa.txt")print a.pivot('user_id','brand_id','type')
‘玖’ 在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'>
‘拾’ python如何输入矩阵
使用numpy创建矩阵有2种方法,一种是使用numpy库的matrix直接创建,另一种则是使用array来创建。
首先导入numpy:
(1)import numpy
(2)from numpy import *
(3)import numpy as np
相关推荐:《Python基础教程》
然后分别用上面说的2种方法来分别构建一个4×3的矩阵,如图: