把矩陣導入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的矩陣,如圖: