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のデータ型

iNumPyにはいくつかの追加のデータ型があり、整数、u符号なし整数などのように、1文字のデータ型を参照します。

以下は、NumPyのすべてのデータ型とそれらを表すために使用される文字のリストです。

  • i -整数
  • b -ブール値
  • u -符号なし整数
  • f - 浮く
  • c -複雑なフロート
  • m -タイムデルタ
  • M - 日付時刻
  • O - 物体
  • S - ストリング
  • U -ユニコード文字列
  • 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)

、、、場合 i、サイズ定義できます。ufSU

データ型が4バイト整数の配列を作成します。

import numpy as np

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

print(arr)
print(arr.dtype)

値を変換できない場合はどうなりますか?

要素をキャストできないタイプが指定されている場合、NumPyはValueErrorを発生させます。

ValueError: Pythonでは、関数に渡された引数の型が予期しない/正しくない場合にValueErrorが発生します。

'a'のような非整数文字列は整数に変換できません(エラーが発生します):

import numpy as np

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

既存の配列でのデータ型の変換

既存の配列のデータ型を変更する最良の方法は、メソッドを使用して配列のコピーを作成することastype()です。

このastype()関数は配列のコピーを作成し、データ型をパラメーターとして指定できるようにします。

データ型は'f'、float、 integerなどの文字列を使用して指定できます。または、floatやinteger'i'のようにデータ型を直接使用することもできます floatint

'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)

エクササイズで自分をテストする

エクササイズ:

NumPyは文字を使用して、次の各データ型を表します。どれですか。

i = integer
 = boolean
 = unsigned integer
 = float
 = complex float
 = timedelta
 = datatime
 = object
 = string