1. ホーム
  2. python

[解決済み] Pandasが認識するすべてのdtypesは何ですか?

2022-03-01 02:36:49

質問

pandasの場合、以下のデータ型以外のデータ型があれば、どなたかご存知でしょうか?

(i) float64 , int64 (など)の変種があります。 np.number のように float32 , int8 など)

bool

datetime64 , timedelta64

文字列のようなカラムは、常に dtypeobject ?

あるいは、上のリストの (i), (ii), (iii) 以外に、以下のようなデータ型があるかどうか知りたい。 pandas は、その dtype である。 object ?

解決方法は?

EDIT 2020年2月 pandas 1.0.0リリースに伴う変更点

Pandasは主にNumPyの配列と各Seriesにdtypesを使用します(データフレームはSeriesの集まりで、各Seriesは独自のdtypesを持つことができます)。 NumPyのドキュメントでは、さらに次のように説明されています。 dtype , データ型 および データ型オブジェクト . さらに、@lcameron05 が提供する回答は、numpy の dtypes について素晴らしい説明をしています。さらに、pandasのdocs on dtypes には、さらに多くの情報があります。

<ブロッククオート

pandasのオブジェクトに格納される主な型はfloat、int、boolです。 datetime64[ns]、timedelta[ns]、object。さらに、これらのdtypesは は、int64 や int32 のような項目サイズを持ちます。

<ブロッククオート

デフォルトでは、整数型はint64、浮動小数点型はfloat64です。 プラットフォーム(32ビットまたは64ビット)に関係なく。以下はすべて の場合、int64のdtypesになります。

しかし、Numpyでは、プラットフォーム依存の型が選択されます。 配列になります。以下のようにすると、32ビットプラットフォームではint32になります。 pandasのバージョン1.0.0での大きな変更点の1つが pd.NA を使用して、スカラー欠損値を表現します (以前の値である np.nan , pd.NaT または None 使用方法によって異なります)。

Pandasは、NumPyの型システムを拡張し、また、ユーザーが自分自身の型システムを書くことができるようにします。 拡張型 . 以下にpandasの拡張型の一覧を示します。

1) タイムゾーンの取り扱い

データの種類:tz-aware datetime (NumPyはtimezone-aware datetimeをサポートしないことに注意).

データ型 DatetimeTZDtype

スカラー タイムスタンプ

配列です。 arrays.DatetimeArray

文字列のエイリアス:'datetime64[ns, ]'

2) カテゴリカルデータ

データの種類 カテゴリー

データ型 CategoricalDtype

スカラー (なし)

配列です。 カテゴリー

文字列のエイリアス:'category'

3) タイムスパン表現

データの種類:ピリオド(タイムスパン)

データ型 ピリオドタイプ

スカラー 期間

配列です。 arrays.PeriodArray

文字列のエイリアス:'period[]'、'Period[]'

4) 疎なデータ構造

データの種類:スパース

データ型 SparseDtype

スカラー (なし)

配列です。 arrays.SparseArray

文字列のエイリアス: 'Sparse', 'Sparse[int]', 'Sparse[float]'.

5) IntervalIndex

データの種類:インターバル

データ型 インターバルタイプ

スカラー インターバル

配列です。 arrays.IntervalArray

文字列のエイリアス:'interval'、'Interval'、'Interval[<numpy_dtype>]'、 'Interval[datetime64[ns, ]]'、'Interval[timedelta64[]]]'

6) Null可能な整数データ型

データの種類: nullable integer

データ型です。 Int64Dtype , ...

スカラー (なし)

配列です。 arrays.IntegerArray

文字列のエイリアス: 'Int8', 'Int16', 'Int32', 'Int64', 'UInt8', 'UInt16', 'UInt32', 'UInt64'.

7) テキストデータを扱う

データの種類 文字列

データ型です。 文字列型

スカラー スト

配列です。 arrays.StringArray

文字列のエイリアス:'string'

8) 欠損値のあるブール型データ

データの種類 ブール値(NA付き)

データ型 BooleanDtype

スカラー ブール

配列です。 arrays.BooleanArray

文字列のエイリアス:'boolean'