NumPy ประเภทข้อมูล

Python 中的数据类型

默认情况下,Python 拥有以下数据类型:

  • strings - 用于表示文本数据,文本用引号引起来。例如 "ABCD"。
  • integer - 用于表示整数。例如 -1, -2, -3。
  • float - 用于表示实数。例如 1.2, 42.42。
  • boolean - 用于表示 True 或 False。
  • complex - 用于表示复平面中的数字。例如 1.0 + 2.0j,1.5 + 2.5j。

NumPy 中的数据类型

NumPy 有一些额外的数据类型,并通过一个字符引用数据类型,例如 i 代表整数,u 代表无符号整数等。

以下是 NumPy 中所有数据类型的列表以及用于表示它们的字符。

  • i - 整数
  • b - 布尔
  • u - 无符号整数
  • f - 浮点
  • c - 复合浮点数
  • m - timedelta
  • M - datetime
  • O - 对象
  • S - 字符串
  • U - unicode 字符串
  • V - 固定的其他类型的内存块 ( void )

检查数组的数据类型

NumPy 数组对象有一个名为 dtype 的属性,该属性返回数组的数据类型:

ইনস্ট্যান্স

获取数组对象的数据类型:

import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr.dtype)

ইনস্ট্যান্স চালু করুন

ইনস্ট্যান্স

获取包含字符串的数组的数据类型:

import numpy as np
arr = np.array(['apple', 'banana', 'cherry'])
print(arr.dtype)

ইনস্ট্যান্স চালু করুন

用已定义的数据类型创建数组

我们使用 array() 函数来创建数组,该函数可以使用可选参数:dtype,它允许我们定义数组元素的预期数据类型:

ইনস্ট্যান্স

用数据类型字符串创建数组:

import numpy as np
arr = np.array([1, 2, 3, 4], dtype='S')
print(arr)
print(arr.dtype)

ইনস্ট্যান্স চালু করুন

对于 iufSU,我们也可以定义大小。

ইনস্ট্যান্স

创建数据类型为 4 字节整数的数组:

import numpy as np
arr = np.array([1, 2, 3, 4], dtype='i4')
print(arr)
print(arr.dtype)

ইনস্ট্যান্স চালু করুন

যদি একটি মান টাইপ কনভার্ট করা যায় না, তবে কি হবে?

যদি কোনও এলিমেন্টকে বাধ্যতামূলকভাবে টাইপ কনভার্ট করা যায় না, তবে NumPy ValueError উত্পন্ন করবে。

ValueError: প্রমাণপত্রের ক্ষেত্রে অপ্রত্যাশিত বা ভুল টাইপ হলে ValueError উত্থাপিত হবে।

ইনস্ট্যান্স

ValueError: Python-এ, ফাংশনের প্রমাণপত্র হিসাবে পাঠানো পরিমাণের ক্ষেত্রে অপ্রত্যাশিত বা ভুল টাইপ হলে ValueError উত্থাপিত হবে:

import numpy as np
arr = np.array(['a', '2', '3'], dtype='i')

ইনস্ট্যান্স চালু করুন

চিহ্নিত অ্যারের ডাটা টাইপকে পরিবর্তন করা

চিহ্নিত অ্যারের ডাটা টাইপকে পরিবর্তন করার সর্বশ্রেষ্ঠ পদ্ধতি হল উপরোক্ত astype() পদ্ধতি একটি অ্যারে কপি করে

astype() ফাংশন একটি অ্যারের কপি তৈরি করে, এবং প্রমাণপত্র হিসাবে ডাটা টাইপকে পারামিটার হিসাবে নির্দিষ্ট করতে অনুমতি দেয়。

ডাটা টাইপকে স্ট্রিং হিসাবে সংজ্ঞায়িত করা যেতে পারে, যেমন 'f' ফ্লোটিং পয়েন্টকে প্রতিনিধিত্ব করে'i' ইন্টিজারকে প্রতিনিধিত্ব করা যেতে পারে, কিংবা আপনি প্রত্যক্ষভাবে ডাটা টাইপকে ব্যবহার করতে পারেন, যেমন float ফ্লোটিং পয়েন্টকে প্রতিনিধিত্ব করেint ইন্টিজারকে ইন্টিজার হিসাবে প্রতিনিধিত্ব করে

ইনস্ট্যান্স

ব্যবহার করে: 'i' প্রমাণপত্র হিসাবে, ডাটা টাইপকে ফ্লোটিং পয়েন্ট থেকে ইন্টিজার থেকে পরিবর্তন করুন:

import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype('i')
print(newarr)
print(newarr.dtype)

ইনস্ট্যান্স চালু করুন

ইনস্ট্যান্স

ব্যবহার করে: int প্রমাণপত্র হিসাবে, ডাটা টাইপকে ফ্লোটিং পয়েন্ট থেকে ইন্টিজার থেকে পরিবর্তন করুন:

import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype(int)
print(newarr)
print(newarr.dtype)

ইনস্ট্যান্স চালু করুন

ইনস্ট্যান্স

ডাটা টাইপটিকে ইন্টিজার থেকে বলুয়াইস করুন:

import numpy as np
arr = np.array([1, 0, 3])
newarr = arr.astype(bool)
print(newarr)
print(newarr.dtype)

ইনস্ট্যান্স চালু করুন