當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。