SciPy Matlab massivlari
Matlab massivlari bilan ishlash
Bilamizki, NumPy ma’lumotlarni Python o‘qiy oladigan formatlarda saqlash uchun metodlarni taqdim etadi. SciPy esa bundan tashqari Matlab bilan o‘zaro ishlash imkoniyatini ham beradi.
SciPy bizga Matlab massivlari bilan ishlash funksiyalariga ega scipy.io modulini taqdim etadi.
Ma’lumotlarni Matlab formatida eksport qilish
savemat() funksiyasi ma’lumotlarni Matlab formatida eksport qilish imkonini beradi.
Metod quyidagi parametrlarni qabul qiladi:
- filename - ma’lumotlarni saqlash uchun fayl nomi.
- mdict - ma’lumotlarni o‘z ichiga olgan dictionary.
- do_compression - natijani siqish yoki siqmaslikni belgilovchi boolean qiymat. Standart qiymati False.
Misol
Quyidagi massivni "vec" o‘zgaruvchi nomi bilan mat fayliga eksport qiling:
from scipy import io
import numpy as np
arr = np.arange(10)
io.savemat('arr.mat', {"vec": arr})
Eslatma: Yuqoridagi misol kompyuteringizda "arr.mat" nomli faylni saqlaydi.
Faylni ochish uchun quyidagi "Ma’lumotlarni Matlab formatidan import qilish" misolini ko‘rib chiqing:
Ma’lumotlarni Matlab formatidan import qilish
loadmat() funksiyasi Matlab faylidan ma’lumotlarni import qilish imkonini beradi.
Funksiya bitta majburiy parametr qabul qiladi:
filename - saqlangan ma’lumotlar faylining nomi.
U kalitlari o‘zgaruvchi nomlari, mos qiymatlari esa o‘zgaruvchilar qiymatlari bo‘lgan tuzilmali massivni qaytaradi.
Misol
Quyidagi mat faylidan massivni import qiling:
from scipy import io
import numpy as np
arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9,])
# Export:
io.savemat('arr.mat', {"vec": arr})
# Import:
mydata = io.loadmat('arr.mat')
print(mydata)
Natija:
{
'__header__': b'MATLAB 5.0 MAT-file Platform: nt, Created on: Tue Sep 22 13:12:32 2020',
'__version__': '1.0',
'__globals__': [],
'vec': array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
}
O‘zingiz sinab ko‘ring »
Matlab ma’lumotlaridan faqat massivni ko‘rsatish uchun "vec" o‘zgaruvchi nomidan foydalaning:
Eslatma: Ko‘rib turganimizdek, massiv dastlab 1D (bir o‘lchamli) bo‘lgan, ammo ajratib olinganda uning o‘lchami bittaga oshgan.
Buni hal qilish uchun qo‘shimcha squeeze_me=True argumentini uzatishimiz mumkin:
Misol
# Import:
mydata = io.loadmat('arr.mat', squeeze_me=True)
print(mydata['vec'])
Natija:
[0 1 2 3 4 5 6 7 8 9]O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
