NumPy ma’lumot tiplari


ULASHISH

Pythondagi ma’lumot tiplari

Pythonda standart holatda quyidagi ma’lumot tiplari mavjud:

  • strings — matnli ma’lumotlarni ifodalash uchun ishlatiladi, matn qo‘shtirnoq ichida yoziladi. Masalan, "ABCD"
  • integer — butun sonlarni ifodalash uchun ishlatiladi. Masalan, -1, -2, -3
  • float — haqiqiy sonlarni ifodalash uchun ishlatiladi. Masalan, 1.2, 42.42
  • boolean — True yoki False qiymatlarini ifodalash uchun ishlatiladi.
  • complex — kompleks sonlarni ifodalash uchun ishlatiladi. Masalan, 1.0 + 2.0j, 1.5 + 2.5j

NumPydagi ma’lumot tiplari

NumPyda qo‘shimcha ma’lumot tiplari bor va u ma’lumot tiplarini bitta belgi bilan ifodalaydi, masalan, butun sonlar uchun i, ishorasiz butun sonlar uchun u va hokazo.

Quyida NumPydagi barcha ma’lumot tiplari va ularni ifodalash uchun ishlatiladigan belgilar ro‘yxati keltirilgan.

  • i — butun son (integer)
  • b — boolean
  • u — ishorasiz butun son (unsigned integer)
  • f — float
  • c — kompleks son (complex float)
  • m — timedelta (vaqt oralig‘i)
  • M — datetime (sana va vaqt)
  • O — obyekt (object)
  • S — string
  • U — unicode string
  • V — boshqa tip uchun ajratilgan qat’iy o‘lchamli xotira bo‘lagi ( void )

Massivning ma’lumot tipini tekshirish

NumPy massiv obyektida dtype deb nomlangan xususiyat bor, u massivning ma’lumot tipini qaytaradi:

Misol

Massiv obyektining ma’lumot tipini oling:

import numpy as np arr = np.array([1, 2, 3, 4]) print(arr.dtype)
O‘zingiz sinab ko‘ring »

Misol

Stringlardan iborat massivning ma’lumot tipini oling:

import numpy as np arr = np.array(['apple', 'banana', 'cherry']) print(arr.dtype)
O‘zingiz sinab ko‘ring »


Ma’lumot tipi belgilangan massivlarni yaratish

Massivlarni yaratish uchun array() funksiyasidan foydalanamiz; bu funksiya ixtiyoriy dtype argumentini qabul qilishi mumkin, u massiv elementlarining kutilayotgan ma’lumot tipini belgilash imkonini beradi:

Misol

Ma’lumot tipi string bo‘lgan massiv yarating:

import numpy as np arr = np.array([1, 2, 3, 4], dtype='S') print(arr) print(arr.dtype)
O‘zingiz sinab ko‘ring »

i, u, f, S va U tiplari uchun hajmni ham belgilashimiz mumkin.

Misol

Ma’lumot tipi 4 baytli butun son bo‘lgan massiv yarating:

import numpy as np arr = np.array([1, 2, 3, 4], dtype='i4') print(arr) print(arr.dtype)
O‘zingiz sinab ko‘ring »

Qiymatni aylantirib bo‘lmasa-chi?

Agar elementlarni aylantirib bo‘lmaydigan tip berilsa, NumPy ValueError xatosini chiqaradi.

ValueError: Pythonda funksiyaga uzatilgan argumentning tipi kutilmagan/noto‘g‘ri bo‘lsa, ValueError xatosi yuzaga keladi.

Misol

'a' kabi butun son bo‘lmagan stringni butun songa aylantirib bo‘lmaydi (xato yuzaga keladi):

import numpy as np arr = np.array(['a', '2', '3'], dtype='i')
O‘zingiz sinab ko‘ring »

Mavjud massivlarning ma’lumot tipini o‘zgartirish

Mavjud massivning ma’lumot tipini o‘zgartirishning eng yaxshi usuli — astype() metodi yordamida massivning nusxasini yaratish.

astype() funksiyasi massivning nusxasini yaratadi va ma’lumot tipini parametr sifatida ko‘rsatish imkonini beradi.

Ma’lumot tipini string yordamida ko‘rsatish mumkin, masalan, float uchun 'f', integer uchun 'i' va hokazo; yoki ma’lumot tipining o‘zidan to‘g‘ridan-to‘g‘ri foydalanishingiz mumkin, masalan, float uchun float, integer uchun int.

Misol

Parametr qiymati sifatida 'i'ni ishlatib, ma’lumot tipini floatdan integerga o‘zgartiring:

import numpy as np arr = np.array([1.1, 2.1, 3.1]) newarr = arr.astype('i') print(newarr) print(newarr.dtype)
O‘zingiz sinab ko‘ring »

Misol

Parametr qiymati sifatida intni ishlatib, ma’lumot tipini floatdan integerga o‘zgartiring:

import numpy as np arr = np.array([1.1, 2.1, 3.1]) newarr = arr.astype(int) print(newarr) print(newarr.dtype)
O‘zingiz sinab ko‘ring »

Misol

Ma’lumot tipini integerdan booleanga o‘zgartiring:

import numpy as np arr = np.array([1, 0, 3]) newarr = arr.astype(bool) print(newarr) print(newarr.dtype)
O‘zingiz sinab ko‘ring »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!