Hướng dẫn how to read m file in python - cách đọc tệp m trong python

Có một gói đẹp gọi là mat4py có thể dễ dàng cài đặt

pip install mat4py

Thật đơn giản khi sử dụng (từ trang web):

Tải dữ liệu từ một tệp mat

Hàm from mat4py import loadmat data = loadmat('datafile.mat') 0 tải tất cả các biến được lưu trữ trong tệp mat vào cấu trúc dữ liệu Python đơn giản, chỉ sử dụng các đối tượng Python tựa from mat4py import loadmat data = loadmat('datafile.mat') 1 và from mat4py import loadmat data = loadmat('datafile.mat') 2. Các mảng số và ô được chuyển đổi thành danh sách lồng nhau theo thứ tự hàng. Mảng được ép để loại bỏ các mảng chỉ có một yếu tố. Cấu trúc dữ liệu kết quả bao gồm các loại đơn giản tương thích với định dạng JSON.

Ví dụ: Tải tệp MAT vào cấu trúc dữ liệu Python:

from mat4py import loadmat data = loadmat('datafile.mat')

Biến from mat4py import loadmat data = loadmat('datafile.mat') 3 là from mat4py import loadmat data = loadmat('datafile.mat') 1 với các biến và giá trị có trong tệp mat.

Lưu cấu trúc dữ liệu Python vào tệp mat

Dữ liệu Python có thể được lưu vào tệp MAT, với hàm from mat4py import loadmat data = loadmat('datafile.mat') 5. Dữ liệu phải được cấu trúc theo cách tương tự như đối với from mat4py import loadmat data = loadmat('datafile.mat') 0, tức là nó phải bao gồm các loại dữ liệu đơn giản, như from mat4py import loadmat data = loadmat('datafile.mat') 1, from mat4py import loadmat data = loadmat('datafile.mat') 2, from mat4py import loadmat data = loadmat('datafile.mat') 9, from mat4py import savemat savemat('datafile.mat', data) 0 và from mat4py import savemat savemat('datafile.mat', data) 1.

Ví dụ: Lưu cấu trúc dữ liệu Python vào tệp mat:

from mat4py import savemat savemat('datafile.mat', data)

Tham số from mat4py import loadmat data = loadmat('datafile.mat') 3 sẽ là from mat4py import loadmat data = loadmat('datafile.mat') 1 với các biến.

Hi,

Đây không phải là vấn đề lớn. Mã Python trông giống như:

Nhập Matlab.Enginematlab.engine

Eng = matlab.engine.start_matlab ()

eng.simple_script(nargout=0)

eng.quit()

Tập lệnh MATLAB có lẽ là một dòng đã lưu Assimple_script.m: simple_script.m:

Đảm bảo rằng tập lệnh được lưu trong thư mục Matlab biết như một thư mục tìm kiếm.

Sau đó chạy tập lệnh Python của bạn và nhận câu trả lời:

Không cần thiết phải có chức năng trong tệp .M của mình, nhưng có thể. Xem thêm thông tin. here.

Màn hình MATLAB không hiển thị theo mặc định, vì vậy bạn sẽ rất vui nếu bạn làm theo điều này và thông tin được liên kết ...

Trân trọng

Stephan

Một số lượng lớn các bộ dữ liệu cho khoa học và nghiên cứu dữ liệu, sử dụng các tệp .mat. Trong bài viết này, chúng tôi sẽ học cách làm việc với các tệp .mat trong Python và khám phá chúng một cách chi tiết. .mat files. In this article, we’ll learn to work with .mat files in Python and explore them in detail.

Tại sao chúng ta sử dụng các tệp .mat trong Python?

Mục đích của một tệp .mat có vẻ không rõ ràng ngay lập tức. Nhưng khi làm việc với các bộ dữ liệu lớn, thông tin có trong các tệp này là hoàn toàn quan trọng đối với các dự án khoa học/máy học dữ liệu!.mat file may not seem obvious right off the bat. But when working with large datasets, the information contained within these files is absolutely crucial for data science/machine learning projects!

Điều này là do các tệp .mat chứa siêu dữ liệu của mọi đối tượng/bản ghi trong tập dữ liệu..mat files contain the metadata of every object/record in the dataset.

Mặc dù các tệp không được thiết kế chính xác cho mục đích duy nhất là tạo các chú thích, rất nhiều nhà nghiên cứu sử dụng MATLAB cho nghiên cứu và thu thập dữ liệu của họ, gây ra nhiều chú thích mà chúng tôi sử dụng trong việc học máy để có mặt dưới dạng tệp .mat ..mat files.

Vì vậy, nó rất quan trọng đối với một nhà khoa học dữ liệu để hiểu cách sử dụng các tệp .mat cho các dự án của bạn. Những điều này cũng giúp bạn làm việc tốt hơn với các bộ dữ liệu đào tạo và kiểm tra thay vì làm việc với các tệp CSV thông thường.

Bắt đầu nào!

Theo mặc định, Python không có khả năng đọc các tệp .mat. Chúng ta cần nhập một thư viện biết cách xử lý định dạng tệp.

1. Cài đặt Scipy

Tương tự như cách chúng tôi sử dụng mô -đun CSV để hoạt động với các tệp .csv, chúng tôi sẽ nhập scipy libary để làm việc với các tệp .mat trong Python.

Nếu bạn không có Scipy, bạn có thể sử dụng lệnh PIP để cài đặt cùng một

Bây giờ chúng tôi đã thiết lập SCIPY và sẵn sàng để sử dụng, bước tiếp theo là mở tập lệnh Python của bạn để cuối cùng nhận được dữ liệu cần thiết từ tệp.

2. Nhập mô -đun scipy.io.loadmat

Trong ví dụ này, tôi sẽ sử dụng các chú thích accordion do Caltech cung cấp, trong 101 loại đối tượng.

from scipy.io import loadmat annots = loadmat('annotation_0001.mat') print(annots)

Sau khi thực hiện, in ra các antot sẽ cung cấp cho chúng tôi điều này dưới dạng đầu ra.

{'__header__': b'MATLAB 5.0 MAT-file, Platform: PCWIN, Created on: Tue Dec 14 15:57:03 2004', '__version__': '1.0', '__globals__': [], 'box_coord': array([[ 2, 300, 1, 260]], dtype=uint16), 'obj_contour': array([[ 37.16574586, 61.94475138, 89.47697974, 126.92081031, 169.32044199, 226.03683241, 259.07550645, 258.52486188, 203.46040516, 177.5801105 , 147.84530387, 117.0092081 , 1.37384899, 1.37384899, 7.98158379, 0.82320442, 16.2412523 , 31.65930018, 38.81767956, 38.81767956], [ 58.59300184, 44.27624309, 23.90239411, 0.77532228, 2.97790055, 61.34622468, 126.87292818, 214.97605893, 267.83793738, 270.59116022, 298.67403315, 298.67403315, 187.99447514, 94.93554328, 90.53038674, 77.31491713, 62.44751381, 62.99815838, 56.94106814, 56.94106814]])}

Bắt đầu, bạn có thể thấy rằng tệp .mat duy nhất này cung cấp thông tin liên quan đến phiên bản MATLAB được sử dụng, nền tảng, ngày tạo của nó và nhiều hơn nữa..mat file provides information regarding the version of MATLAB used, the platform, the date of its creation, and a lot more.

Phần mà chúng ta nên tập trung vào, tuy nhiên, from mat4py import savemat savemat('datafile.mat', data) 4 và from mat4py import savemat savemat('datafile.mat', data) 5.

3. Phân tích cấu trúc tệp .mat

Nếu bạn đã trải qua thông tin liên quan đến các chú thích do Caltech cung cấp, bạn sẽ biết rằng những con số này là những phác thảo của hình ảnh tương ứng trong tập dữ liệu.

Trong một chi tiết hơn một chút, điều này có nghĩa là đối tượng có trong hình 0001, bao gồm các phác thảo này. Xa hơn một chút trong bài viết, chúng tôi sẽ sắp xếp các con số, vì vậy, đừng lo lắng về điều đó.

Phân tích phân tích thông qua cấu trúc tệp này, chúng tôi có thể gán tất cả các giá trị đường viền cho danh sách Python mới.

con_list = [[element for element in upperElement] for upperElement in annots['obj_contour']]

Nếu chúng tôi in ra from mat4py import savemat savemat('datafile.mat', data) 6, chúng tôi sẽ nhận được một mảng 2D đơn giản.

[[37.16574585635357, 61.94475138121544, 89.47697974217309, 126.92081031307546, 169.32044198895025, 226.03683241252295, 259.0755064456721, 258.52486187845295, 203.4604051565377, 177.58011049723754, 147.84530386740326, 117.0092081031307, 1.3738489871086301, 1.3738489871086301, 7.98158379373848, 0.8232044198894926, 16.24125230202577, 31.65930018416205, 38.81767955801104, 38.81767955801104], [58.59300184162066, 44.27624309392269, 23.90239410681403, 0.7753222836096256, 2.9779005524862328, 61.34622467771641, 126.87292817679563, 214.97605893186008, 267.83793738489874, 270.59116022099454, 298.6740331491713, 298.6740331491713, 187.9944751381216, 94.93554327808477, 90.53038674033152, 77.31491712707185, 62.44751381215474, 62.998158379373876, 56.94106813996319, 56.94106813996319]]

4. Sử dụng khung dữ liệu gấu trúc để làm việc với dữ liệu

Bây giờ bạn có thông tin và dữ liệu được truy xuất, bạn sẽ làm việc với nó như thế nào? Tiếp tục sử dụng danh sách? Chắc chắn không phải.

Chúng tôi sử dụng DataFrames làm cấu trúc để làm việc, trong đó nó hoạt động giống như một bảng dữ liệu. Gọn gàng để nhìn vào, và cực kỳ đơn giản để sử dụng.

Bây giờ, để làm việc với DataFrames, chúng tôi sẽ cần nhập một mô -đun khác, gấu trúc.Pandas.

Pandas là một công cụ phân tích dữ liệu nguồn mở, được sử dụng bởi những người đam mê học tập máy và các nhà khoa học dữ liệu trên toàn thế giới. Các hoạt động được cung cấp bởi nó được coi là quan trọng và cơ bản trong rất nhiều ứng dụng khoa học dữ liệu.

Chúng tôi chỉ làm việc với DataFrames trong bài viết này, nhưng, hãy nhớ rằng các cơ hội được cung cấp bởi gấu trúc là rất lớn.

Làm việc với dữ liệu mà chúng tôi đã nhận được ở trên có thể được đơn giản hóa bằng cách sử dụng gấu trúc để xây dựng khung dữ liệu với các hàng và cột cho dữ liệu.

# zip provides us with both the x and y in a tuple. newData = list(zip(con_list[0], con_list[1])) columns = ['obj_contour_x', 'obj_contour_y'] df = pd.DataFrame(newData, columns=columns)

Bây giờ, chúng tôi có dữ liệu của chúng tôi trong một khung dữ liệu gọn gàng!

obj_contour_x obj_contour_y 0 37.165746 58.593002 1 61.944751 44.276243 2 89.476980 23.902394 3 126.920810 0.775322 4 169.320442 2.977901 5 226.036832 61.346225 6 259.075506 126.872928 7 258.524862 214.976059 8 203.460405 267.837937 9 177.580110 270.591160 10 147.845304 298.674033 11 117.009208 298.674033 12 1.373849 187.994475 13 1.373849 94.935543 14 7.981584 90.530387 15 0.823204 77.314917 16 16.241252 62.447514 17 31.659300 62.998158 18 38.817680 56.941068 19 38.817680 56.941068

Như bạn có thể thấy, chúng tôi có tọa độ X và Y cho phác thảo hình ảnh trong một khung dữ liệu đơn giản của hai cột.

Điều này sẽ cung cấp cho bạn một số rõ ràng về bản chất của dữ liệu trong tệp.

Quá trình tạo DataFrames cho mỗi tệp .mat là khác nhau, nhưng với kinh nghiệm và thực hành, việc tạo chúng từ các tệp .mat sẽ tự nhiên đến với bạn..mat file is different but, with experience and practice, creating them out of .mat files should come naturally to you.

Đó là tất cả cho bài viết này!

Sự kết luận

Bây giờ bạn đã biết cách làm việc với các tệp .mat trong Python và cách tạo các khung dữ liệu trong gấu trúc với nội dung của nó..mat files in Python, and how to create dataframes in pandas with its content.

Các bước tiếp theo để làm việc với dữ liệu này sẽ là và tạo các mô hình của riêng bạn hoặc sử dụng các mô hình hiện có để đào tạo hoặc kiểm tra bản sao của bạn.

Người giới thiệu

  1. Tài liệu chính thức của Scipy.io
  2. Tài liệu chính thức của Gandas DataFrame

Làm cách nào để đọc tệp .mat trong Python?

Tệp mat trong Python ...
Cài đặt gói: Cài đặt pip pymatreader ..
Nhập chức năng có liên quan của gói này: từ pymatreader nhập read_mat ..
Sử dụng chức năng để đọc MATLAB Struct: data = read_mat ('matlab_struct. Mat').
Sử dụng dữ liệu. Khóa () để định vị nơi dữ liệu thực sự được lưu trữ ..

Làm cách nào để mở Matlab trong Python?

Bắt đầu động cơ MATLAB cho Python..
Bắt đầu Python® tại dấu nhắc hệ điều hành ..
Nhập MATLAB.Gói động cơ vào phiên Python của bạn ..
Bắt đầu một quy trình MATLAB® mới bằng cách gọi start_matlab.Hàm start_matlab trả về một đối tượng python cho phép bạn truyền dữ liệu và gọi các chức năng được thực hiện bởi MATLAB ..

Làm thế nào để bạn đọc một tấm thảm?

Bạn có thể sử dụng lệnh "Tải" để đọc dữ liệu được lưu trữ trong tệp MAT.Hàm "dlmread" được sử dụng để đọc tệp được phân định ASCII.use the "load" command to read data stored in a MAT file. The "dlmread" function is used for reading ASCII delimited file.

Làm cách nào để đọc một tệp mat trong gấu trúc?

Đọc thế nào ...
Cài đặt Scipy.Tương tự như cách chúng tôi sử dụng mô -đun CSV để làm việc.....
Nhập Scipy.io.....
Phân tích phân tích.cấu trúc tệp mat.....
Sử dụng các khung dữ liệu gấu trúc để làm việc với dữ liệu.Bây giờ bạn có thông tin và dữ liệu được truy xuất, bạn sẽ làm việc với nó như thế nào ?.

Chủ đề