当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Pandas DataFrame convert_dtypes方法用法及代码示例


Pandas DataFrame.convert_dtypes(~) 方法将源 DataFrame 的列的数据类型转换为更合适/特定的类型。

该方法返回一个新的DataFrame,即源DataFrame保持不变。

参数

1.infer_objects | boolean | optional

是否将 object 数据类型转换为更合适、更具体的数据类型。默认情况下,infer_objects=True

2. convert_string | boolean | optional

是否将 object 数据类型转换为字符串数据类型。默认情况下,convert_string=True

3. convert_integer | boolean | optional

如果可能的话,是否转换为整数数据类型。默认情况下,convert_integer=True

4. convert_boolean | boolean | optional

是否将 object 类型转换为布尔数据类型。默认情况下,convert_boolean=True

返回值

具有转换后的数据类型的DataFrame。

例子

考虑以下 DataFrame :

df = pd.DataFrame({"A":["alex",np.NaN, "bob"],"B":[10,20,np.NaN], "C":[10.5,15.0,np.NaN], "D":[np.NaN,True,False]})
df



   A     B     C     D
0  alex  10.0  10.5  NaN
1  NaN   20.0  15.0  True
2  bob   NaN   NaN   False

我们的 df 具有以下数据类型:

df.dtypes



A     object
B    float64
C    float64
D     object
dtype: object

在此,请注意以下事项:

  • 我们最终得到 AD 列的 object 类型,即使它们分别保存 stringboolean 值。这是因为它们包含 NaN ,最终使整个列类型为 object

  • B 可以由 int 而不是 float 表示。

要使 df 的数据类型更加具体,请使用 convert_dtypes(~) 方法:

df_converted = df.convert_dtypes()
df_converted



   A     B     C     D
0  alex  10    10.5  <NA>
1  <NA>  20    15.0  True
2  bob   <NA>  NaN   False

现在,转换后的数据类型如下:

df_converted.dtypes



A     string
B      Int64
C    float64
D    boolean
dtype: object

在此,请注意以下事项:

  • AD 的类型已分别转换为 stringboolean

  • B 现在是 int 而不是 float

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 Pandas DataFrame | convert_dtypes method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。