pandas data typesの種類
概要
- 拡張データタイプとして
pd.Int64Dype
やpd.Float64Dtype
などがあるnp.nan
が含まれると、intではなくfloatになる問題があったが、これを解決するために導入された- 拡張データタイプにおけるnullは
pd.NA
で表現される
拡張データタイプ
pd.Int8Dtype ~ pd.Int64Dtype
pd.UInt8Dtype ~ pd.UInt64Dtype
pd.Float16Dtype ~ pd.Float64Dtype
pd.BooleanDtype
pd.StringDtype
pd.CategoricalDtype
使用例
df = pd.DataFrame(
{
"a": [1, 2, None],
"b": ["aaa", None, "ccc"],
"c": [None, 'B', 'C'],
}
)
df['a'] = df['a'].astype('Int64') # pd.Int64Dtype()に変換
df['b'] = df['b'].astype('string') # pd.StringDtype()に変換
df['c'] = df['c'].astype(pd.CategoricalDtype()) # pd.CategoricalDtype()に変換(Noneはpd.NAに変換されない)
df