Python | Pandas | “dtypeの説明
Pythonとは,高レベルの汎用プログラミング言語であり,読みやすさとシンプルさで知られている.Web開発やデータサイエンス,人口知能,機械学習など幅広く利用されている.なお,レベルの高低はハードウェアに近いかどうかを意味しており,レベルが低いとハードウェアに近いことを意味している.
Pandasとは,Python向けに人気のあるオープンソースのデータ操作および分析ライブラリーである.異なるフォーマットでの読み書きするツールに加えて,効率的にデータ保存および大規模なデータセットを操作するためのデータ構造を提供する.
本記事では,Pandasにおいて"Series"や"DataFrame"を利用する際に出現するデータタイプ(dtype)の詳細について以下に記す.
実施環境
各バージョンの確認方法はこちら
OS: Windows11
VS Code: 1.85.1
Python 3.12.0
Pandas 2.1.4
Numpy 1.26.2
事前知識
Pyファイルに"Series"と"dtype"を利用した以下コードを入力し,実行する.
import pandas as pd
# Creating a Series
s = pd.Series([1, 3, 5, 6, 8])
# Checking the data type
print("dtype:", s.dtype)
■実行結果
以下のように,一次元データが格納されている"s"のデータタイプ(dtype)である"int64″が出力される.
dtype: int64
データタイプ(“dtype")の詳細
Pandasの基礎の2つの"class"である一次元データを利用する"Series"と二次元データを利用する"DataFrame"では,データは様々なデータタイプ(dtype)で格納される.データタイプには,様々なタイプがあり,今回はinteger(整数)とfloating-point number(浮動小数点数)に関わる"int32″, “int64", “float32", “float64″について説明する.
int64
“int64″とは,integer(整数)の64-bitを意味しており,32-bitよりも幅広い範囲の整数を利用できる.
整数での表示範囲は,"-9,223,372,036,854,775,808″から"9,223,372,036,854,775,807″となる.
計算方法は,以下となる.
計算方法(範囲の最小): -2^(64-1)
計算方法(範囲の最大): 2^(64-1)-1
以下のように,numpyを利用して出力することもできる.
import numpy as np
int64_info = np.iinfo(np.int64)
print(int64_info)
■実行結果
Machine parameters for int64
---------------------------------------------------------------
min = -9223372036854775808
max = 9223372036854775807
---------------------------------------------------------------
int32
“int32″とは,integer(整数)の32-bitを意味しており,64-bitよりも狭い範囲の整数しか利用できない.
整数での表示範囲は,"-2,147,483,648″から"2,147,483,647″となる.
計算方法は,以下となる.
計算方法(範囲の最小): -2^(32-1)
計算方法(範囲の最大): 2^(32-1)-1
以下のように,numpyを利用して出力することもできる.
import numpy as np
int32_info = np.iinfo(np.int32)
print(int32_info)
■実行結果
Machine parameters for int32
---------------------------------------------------------------
min = -2147483648
max = 2147483647
---------------------------------------------------------------
float64
“float64″とは,64-bit floating-point number(浮動小数点数)を意味している.
浮動小数点での表示範囲は,約"-1.798*10^308″から約"1.798*10^308″となる.
プラス域の最小表示は,約"2.225*10^(-308)"となる.
以下のように,numpyを利用して出力することもできる.
import numpy as np
float64_info = np.finfo(np.float64)
print(float64_info)
■実行結果
Machine parameters for float64
---------------------------------------------------------------
precision = 15 resolution = 1.0000000000000001e-15
machep = -52 eps = 2.2204460492503131e-16
negep = -53 epsneg = 1.1102230246251565e-16
minexp = -1022 tiny = 2.2250738585072014e-308
maxexp = 1024 max = 1.7976931348623157e+308
nexp = 11 min = -max
smallest_normal = 2.2250738585072014e-308 smallest_subnormal = 4.9406564584124654e-324
---------------------------------------------------------------
float32
“float32″とは,32-bit floating-point number(浮動小数点数)を意味している.
浮動小数点での表示範囲は,約"-3.402*10^38″から約"3.402*10^38″となる.
プラス域の最小表示は,約1.401*10^(-45)"となる.
以下のように,numpyを利用して出力することもできる.
import numpy as np
float32_info = np.finfo(np.float32)
print(float32_info)
■実行結果
Machine parameters for float32
---------------------------------------------------------------
precision = 6 resolution = 1.0000000e-06
machep = -23 eps = 1.1920929e-07
negep = -24 epsneg = 5.9604645e-08
minexp = -126 tiny = 1.1754944e-38
maxexp = 128 max = 3.4028235e+38
nexp = 8 min = -max
smallest_normal = 1.1754944e-38 smallest_subnormal = 1.4012985e-45
---------------------------------------------------------------
参照
pandas | pandas.DataFrame.dtypes
pandas | User Guide | Essential basic funtionality | dtypes
以上